方法: Try...Catch ブロックを使用してコードを検査する (Visual Basic)

Try ブロック内で Catch ステートメントを使用すると、特定の例外や複数の例外をキャッチし処理できます。 実行時に Try セクション内のコードで例外が発生すると、Visual Basic コンパイラは、その例外に一致する条件が指定された Catch ステートメントが見つかるまでブロック内を探します。 一致する Catch ステートメントが見つからなかった場合は、エラーが生成されます。

特定の例外をキャッチするには

  1. 次の例のように、コード ブロックを Try と End Try で囲み、このコード ブロックを Try ブロックを使用して検査します。このコード例では、MyLog ファイルを同じディレクトリにコピーし、名前を BackupLog に変更しています。

    Try
        My.Computer.FileSystem.CopyFile("MyLog", "BackupLog")
    Catch ex As System.IO.IOException
        MsgBox("An error occurred")
    End Try
    
  2. Try ブロック内に、特定のエラーをキャッチするための複数の Catch ステートメントを指定します。このとき、特殊なエラーほど先にキャッチし、より一般的なエラーへと順にキャッチしていくようにします。 この例では、最初に Catch ステートメントで IOException 例外をキャッチし、それから一般的な例外を検査しています。

    Catch ex As System.IO.FileNotFoundException
        MsgBox("No such file in this directory.")
    Catch ex As System.Exception
        MsgBox("An unspecified error occurred.")
    

参照

処理手順

方法 : Visual Basic で Try...Finally ブロックを使用してリソースをクリーンアップする

方法 : Visual Basic で Catch ブロックを使用してエラーをフィルター処理する

方法: 例外の内部例外をチェックする (Visual Basic)

例外処理のトラブルシューティング (Visual Basic)

参照

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

概念

構造化例外処理と非構造化例外処理に適した状況 (Visual Basic)

その他の技術情報

例外処理のタスク (Visual Basic)