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

更新 : 2007 年 11 月

Catch ステートメントでは、いくつかの方法でエラーをフィルタできます。1 つは、例外の種類によってフィルタする方法です。この場合、特殊な例外から一般的な例外へと順にキャッチしていくことが重要です。Catch ステートメントは、指定されている順序で実行されるためです。

特定のエラー番号などの条件式によってフィルタする場合には、When 句も使用できます。両方の方法を組み合わせて使用することもできます。

79dh1480.alert_note(ja-jp,VS.90).gifメモ :

使用している設定またはエディションによっては、ダイアログ ボックスで使用可能なオプションや、メニュー コマンドの名前や位置がヘルプに記載されている内容と異なる場合があります。このヘルプ ページは、全般的な開発設定を考慮して記述されています。設定を変更するには、[ツール] メニューの [設定のインポートとエクスポート] をクリックします。詳細については、「Visual Studio の設定」を参照してください。

例外の種類によってフィルタするには

  • チェックする例外のそれぞれの種類について、最も特殊な例外から一般的な例外へと順に Catch ステートメントを挿入します。

    Try
        Throw New Exception
    Catch ex As System.IO.IOException
        ' Code reacting to IOException 
    Catch ex As System.NullReferenceException
        ' Code reacting to NullReferenceException
    Catch ex As Exception
        ' Code reacting to any exception
    End Try
    

条件式によってフィルタするには

  • 条件式によってフィルタする場合は、Catch When ステートメントを使用します。条件式が True に評価されると、その Catch ブロックに続くコードが実行されます。

    Try
        ' Code goes here.
        ' Check for type mismatch error.
    Catch ex As Exception When Err.Number = 5
        ' Code reacting to exception. 
    End Try
    

参照

処理手順

方法 : 例外の内部例外をチェックする

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

概念

例外処理 (Visual Basic 6.0 ユーザー向け)

構造化例外処理と非構造化例外処理に適した状況

参照

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

その他の技術情報

例外処理のタスク