One of the most reputable changes in the Visual Basic language is the introduction of structured exception handling in VB.NET. While the latest version of the language still supports the On Error Goto type of error handling, it's not preferred; instead, you should use structured exception handling.
VB.NET now supports the Try…Catch exception blocks and Try…Finally resource protection blocks. Here is more information about both types of structured exception handling blocks, along with code samples.
The Try…Catch block allows you to catch and handle errors for which the developer can specify a resolution. The basic format of the block is:
'Error resolution whenever an error takes place
The protected code appears in the Try section of the code, and the error resolution appears in the Catch section of the code. The Try code always gets executed, but the Catch code only gets executed if an error occurs.
The Try…Finally blocks are usually used in order to ensure that allocated resources are being cleaned up. These blocks allow you to catch and handle errors, as well as execute a section of the code regardless of whether there is an error. The basic format of the block is listed below:
'Resource allocation code
'Use the resource
'Clean the resource up
The protected code appears in the Try section, and the clean up code appears in the Finally section. The statements in a Finally block are always executed when control leaves a try statement, regardless of whether there is an error in the execution.
Note: In real applications, you will often need to combine or nest the Try…Catch and Try…Finally blocks to design a more flexible error handling routine.
Miss a tip?
Advance your scripting skills to the next level with TechRepublic's free Visual Basic newsletter, delivered each Friday. Automatically sign up today!