次の方法で共有


Resume ステートメント

更新 : 2007 年 11 月

エラー処理ルーチンが終了した後で実行を再開します。

Resume [ Next | line ]

指定項目

  • Resume
    必ず指定します。エラー ハンドラと同じプロシージャでエラーが発生した場合は、エラーの原因となったステートメントから実行が再開されます。呼び出されたプロシージャでエラーが発生した場合は、エラー処理ルーチンを含むプロシージャから最後に呼び出されたステートメントから実行が再開されます。

  • Next
    省略可能です。エラー ハンドラと同じプロシージャでエラーが発生した場合は、エラーの原因となったステートメントの直後のステートメントから実行が再開されます。呼び出されたプロシージャでエラーが発生した場合は、エラー処理ルーチン (または On Error Resume Next ステートメント) を含むプロシージャから最後に呼び出されたステートメントの直後のステートメントから実行が再開されます。

  • line
    省略可能です。必須の line 引数で指定した行から実行が再開されます。引数 line は行ラベルまたは行番号で、エラー ハンドラと同じプロシージャに含まれる必要があります。

解説

エラー処理ルーチン以外で Resume ステートメントを使用すると、エラーが発生します。

Try...Catch...Finally ステートメントを含むプロシージャ内では、Resume ステートメントは使用できません。

使用例

この例では、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 内)

参照

参照

Try...Catch...Finally ステートメント (Visual Basic)

Error ステートメント

On Error ステートメント (Visual Basic)