Throw ステートメント (Visual Basic)Throw Statement (Visual Basic)

プロシージャ内で例外をスローします。Throws an exception within a procedure.


Throw [ expression ]


スローされる例外に関する情報を提供します。Provides information about the exception to be thrown. Catch ステートメント内に存在する場合は省略可能で、それ以外の場合は必須です。Optional when residing in a Catch statement, otherwise required.


Throw ステートメントでは、構造化例外処理コード (Try...Catch...Finally) または非構造化例外処理コード (On Error GoTo) で処理できる例外をスローします。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). Throw ステートメントを使用して、コード内でエラーをトラップできます。Visual Basic によって、適切な例外処理コードが見つかるまで呼び出し履歴が上に移動するためです。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.

式が指定されていない Throw ステートメントは、Catch ステートメントでのみ使用できます。この場合、ステートメントでは、現在 Catch ステートメントによって処理されている例外を再スローします。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.

Throw ステートメントによって、expression 例外の呼び出し履歴がリセットされます。The Throw statement resets the call stack for the expression exception. expression が指定されていない場合、呼び出し履歴は変更されません。If expression is not provided, the call stack is left unchanged. StackTrace プロパティによって、例外の呼び出し履歴にアクセスできます。You can access the call stack for the exception through the StackTrace property.


次のコードでは、Throw ステートメントを使用して、例外をスローしています。The following code uses the Throw statement to throw an exception:

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

関連項目See also