[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 引数は、任意の行ラベルまたは行番号です。

使用例

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
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
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
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