[VB.NET]On Error ステートメントのサンプル

構文
On Error { GoTo [ line | 0 | -1 ] | Resume Next }
1.On Error Resume Next
On Error Resume Next によって、実行時エラーが発生したステートメントの直後のステートメント、または On Error Resume Next ステートメントを含むプロシージャからの最新の呼び出しの直後のステートメントから、
実行が続行されます。
2.On Error GoTo 0
On Error GoTo 0 によって、現在のプロシージャのエラー処理が無効になります。
3.GoTo line
必須の line 引数に指定された行から始まるエラー処理ルーチンを有効にします。
line 引数は、任意の行ラベルまたは行番号です。

使用例

Module Module1

    Sub Main()
        'エラー処理ルーチンを有効にする
        On Error GoTo ErrorHandler

        Dim x As Integer = 12
        Dim y As Integer = 0
        Dim z As Integer
        'ゼロ除算処理
        z = x / y

        'エラートラップ
        On Error GoTo 0
        'エラートラップを遅延
        On Error Resume Next
        z = x / y   ' ゼロ除算を再度実行
        If Err.Number = 6 Then
            ' 警告処理
            Dim Msg As String
            Console.Write("エラーが発生 6789")
            'Errオブジェクトをクリア
            Err.Clear()
        End If
        ' エラー処理ルーチン
ErrorHandler:
        ' エラー番号の判定 
        Select Case Err.Number
            ' ゼロ除算エラー
            Case 6
                Console.WriteLine("ゼロ除算 12345")
            Case Else
        End Select
        'ステートメントで直ぐに実行を再開
        Resume Next

        Console.ReadKey()
    End Sub

End Module

実行結果
ゼロ除算 12345
エラーが発生 6789

VB.net

Posted by arkgame