次の方法で共有


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

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

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

注意

お使いのマシンで、Visual Studio ユーザー インターフェイスの一部の要素の名前や場所が、次の手順とは異なる場合があります。 これらの要素は、使用している Visual Studio のエディションや独自の設定によって決まります。 詳細については、「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)

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

参照

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

概念

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

その他の技術情報

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