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)