Name

On Error Statement

Syntax 1

On Error GoTolabel|0|-1
label

Use: Either label, 0, or -1 is required

A valid label within the subroutine

Syntax 2

On Error Resume Next

Description

Enables or disables error handling within a procedure.

If you don’t use an On Error statement or a Try...Catch block in your procedure, or if you have explicitly switched off error handling, the Visual Basic runtime engine will automatically handle the error. First, it will display a dialog box containing the standard text of the error message, something that many users are likely to find incomprehensible. Second, it will terminate the application. So any error that occurs in the procedure will produce a fatal runtime error.

Rules at a Glance

Syntax 1

  • The 0 argument disables error handling within the procedure until the next On Error statement is executed.

  • The -1 argument disables an enabled exception in the current procedure. (It resets the exception to Nothing).

  • The label argument specifies the label that defines an error-handling routine within the current procedure. Should an error occur, the procedure will be branched to this error-handling routine.

  • A subroutine label must be suffixed with a colon. In addition, you cannot use a VB reserved word for a subroutine label name. For example:

    someroutine:
  • label must be in the same procedure as the On Error statement.

Syntax 2

When a runtime error occurs, program execution continues with the program line following the line that generated the error.

Programming Tips ...

Get VB .NET Language in a Nutshell now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.