Resume ステートメント
エラー処理ルーチンが終了した後、実行を再開します。
コードでは、非構造化例外処理と On Error
および Resume
ステートメントを使用するのではなく、可能な限り、構造化例外処理を使用することをお勧めします。 詳しくは、「Try...Catch...Finally ステートメント」をご覧ください。
構文
Resume [ Next | line ]
指定項目
Resume
必須です。 エラー ハンドラーと同じプロシージャでエラーが発生した場合は、エラーの原因となったステートメントを使用して実行が再開されます。 呼び出されたプロシージャでエラーが発生した場合、エラー処理ルーチンを含むプロシージャから最後に呼び出されたステートメントで実行が再開されます。
Next
任意。 エラー ハンドラーと同じプロシージャでエラーが発生した場合は、エラーの原因となったステートメントの直後のステートメントを使用して実行が再開されます。 呼び出されたプロシージャでエラーが発生した場合、エラー処理ルーチン (または On Error Resume Next
ステートメント) を含むプロシージャから最後に呼び出されたステートメントの直後のステートメントを使用して、実行が再開されます。
line
任意。 実行は、必須の引数 line
で指定した行で再開されます。 line
引数は、行ラベルまたは行番号であり、エラー ハンドラーと同じプロシージャ内にある必要があります。
Remarks
注意
コードでは、非構造化例外処理と On Error
および Resume
ステートメントを使用するのではなく、可能な限り、構造化例外処理を使用することをお勧めします。 詳しくは、「Try...Catch...Finally ステートメント」をご覧ください。
エラー処理ルーチン以外の場所で Resume
ステートメントを使用すると、エラーが発生します。
Resume
ステートメントは、Try...Catch...Finally
ステートメントを含むプロシージャ内では使用できません。
例
この例では、Resume
ステートメントを使用してプロシージャのエラー処理を終了し、エラーの原因となったステートメントを使用して実行を再開します。 Resume
ステートメントの使用方法を示すために、エラー番号 55 が生成されます。
Sub ResumeStatementDemo()
On Error GoTo ErrorHandler ' Enable error-handling routine.
Dim x As Integer = 32
Dim y As Integer = 0
Dim z As Integer
z = x / y ' Creates a divide by zero error
Exit Sub ' Exit Sub to avoid error handler.
ErrorHandler: ' Error-handling routine.
Select Case Err.Number ' Evaluate error number.
Case 6 ' "Divide by zero" error.
y = 1 ' Sets the value of y to 1 and tries the calculation again.
Case Else
' Handle other situations here....
End Select
Resume ' Resume execution at same line
' that caused the error.
End Sub
要件
名前空間: Microsoft.VisualBasic
アセンブリ: Visual Basic ランタイム ライブラリ (Microsoft.VisualBasic.dll)
関連項目
.NET