例外処理のトラブルシューティング (Visual Basic)
このトピックでは、例外を扱うときによく生じる問題とその対処方法を説明します。
Visual Basic は、構造化例外処理をサポートしています。構造化例外処理を使うと、信頼性が高く包括的なエラー ハンドラーによって、プログラムの作成および管理を行うことができます。 構造化例外処理とは、実行時にエラーの検出および処理を行うためのコードであり、制御構造 (Select Case や While に似た制御構造) と、例外、コードの保護ブロック、およびフィルターが組み合わされています。
内部例外
前の例外の直接的な結果として例外がスローされた場合、InnerException プロパティによって元のエラーが説明されます。 この情報により、エラーをより効率的に処理できます。 元のエラーがない場合、InnerException の値は、null 参照または Visual Basic の Nothing になります。 このプロパティは読み取り専用です。 詳細については、「方法: 例外の内部例外をチェックする (Visual Basic)」を参照してください。
Try...Catch ステートメント
コードの Catch ブロックの順序が間違っていると、例外を正しくキャッチできない場合があります。 Catch ステートメントは、具体的なものから汎用的なものへという順序で記述する必要があります。 Catch ブロック単独では、Exception から派生したすべての例外をキャッチします。したがって、常に Finally の直前のブロックとして配置する必要があります。
参照
処理手順
チュートリアル: 構造化例外処理 (Visual Basic)
概念
構造化例外処理と非構造化例外処理に適した状況 (Visual Basic)