Throw Statement (Visual Basic)

Throws an exception within a procedure.

Throw [ expression ]


  • expression
    Provides information about the exception to be thrown. Optional when residing in a Catch statement, otherwise required.


The Throw statement throws an exception that you can handle with structured exception-handling code (Try...Catch...Finally) or unstructured exception-handling code (On Error GoTo). You can use the Throw statement to trap errors within your code because Visual Basic moves up the call stack until it finds the appropriate exception-handling code.

A Throw statement with no expression can only be used in a Catch statement, in which case the statement rethrows the exception currently being handled by the Catch statement.

The Throw statement resets the call stack for the expression exception. If expression is not provided, the call stack is left unchanged. You can access the call stack for the exception through the StackTrace property.


The following code uses the Throw statement to throw an exception:

' Throws a new exception. 
Throw New System.Exception("An exception has occurred.")


Namespace: Microsoft.VisualBasic


Assembly: Visual Basic Runtime Library (in Microsoft.VisualBasic.dll)

See Also


How to: Check an Exception's Inner Exception


Structured Exception Handling Overview for Visual Basic

Unstructured Exception Handling Overview


Try...Catch...Finally Statement (Visual Basic)

On Error Statement (Visual Basic)