is an essential procedure in Visual Basic 2008 programming because it can help make the
program error-free. An error-free program can run smoothly and
efficiently, and the user does not have to face all sorts of problems
such as program crash or system hang.
often occur due to incorrect input from the user. For example, the user
might make the mistake of attempting to enter a text (string) to a box
that is designed to handle only numeric values such as the weight of a person, the computer will not be
able to perform arithmetic calculation for text therefore will create an error. These errors are known as synchronous errors.
Therefore a good programmer should be
more alert to the parts of program that could trigger errors and should
write errors handling code to help the user in managing the errors.
Writing errors handling code should be considered a good practice for
Visual Basic programmers, so do try to finish a program fast by omitting
the errors handling code. However, there should not be too many errors
handling code in the program as it create problems for the programmer to
maintain and troubleshoot the program later.
VB2008 has improved a lot in built-in
errors handling compared to Visual Basic 6. For example, when the user
attempts to divide a number by zero, Vb2008 will not return an error message
but gives the 'infinity' as the answer (although this is
mathematically incorrect, because it should be undefined)
20.2 Using On
Error GoTo Syantax
Visual Basic 2008 still supports the VB6 errors handling
syntax, that is the On Error GoTo program_label
structure. Although it has a more advanced error handling method, we
shall deal with that later.We shall now learn how
to write errors handling code in VB2008. The syntax for errors
is the section of code
that is designed by the programmer to handle the error committed by the
user. Once an error is detected, the program will jump to the
program_label section for error handling.
20.1: Division by Zero
this example, we will deal with the error of entering non-numeric data
into the textboxes that suppose to hold numeric values. The
program_label here is error_hanldler. when the user enter a non-numeric
values into the textboxes, the error message will display the the
text"One of the entries is not a number! Try again!". If no error occur,
it will display the correct answer. Try it out yourself.
e As System.EventArgs)
On Error GoTo
Lbl_Answer.Text = firstNum /
'To prevent error handling
even the inputs are valid
Lbl_Answer.Text = "Error"
Lbl_ErrorMsg.Text = " One
of the entries is not a number! Try again!"
Handling using Try.....Catch....End Try Structure
VB2008 has adopted a new approach in handling errors, or rather exceptions
handling. It is supposed to be more efficient than the old On Error Goto method,
where it can handles various types of errors within the Try...Catch...End Try
structure looks like this
Catch exception_variable as Exception
statements to deal with exceptions
This is a modification of Example 20.1. Instead of using
On Error GoTo method, we use the Try...Catch...End Try method. In
this example, the Catch statement will catch the exception when
the user enters a non-numeric data and return the error message. If
there is no exception, there will not any action from the Catch
statement and the program returns the correct answer.
firstNum, secondNum, answer
firstNum = Txt_FirstNumber.Text
secondNum = Txt_SecondNumber.Text
answer = firstNum / secondNum
Lbl_Answer.Text = answer
Lbl_ErrorMsg.Text = "
One of the entries is not a number! Try again!"