例外後の実行の継続
このトピックの内容は、次の製品に該当します。
エディション |
Visual Basic |
C# |
F# |
C++ |
Web Developer |
---|---|---|---|---|---|
Express |
|||||
Pro、Premium、Ultimate |
例外が発生してデバッガーによる実行が中断されると、ダイアログ ボックスが表示されます。 Visual Basic または C# の場合、既定で 例外処理アシスタント ダイアログ ボックスが表示されます。 C++ では、従来の [例外] ダイアログ ボックスも表示できます。 Visual Basic または C# で [オプション] ダイアログ ボックスの [例外処理アシスタント] が無効に設定されていると、[例外] ダイアログ ボックスが表示されます。
[例外処理アシスタント] ダイアログ ボックスまたは [例外] ダイアログ ボックスが表示された場合、その例外の原因となった問題の修正を試行することができます。
マネージ コード
マネージ コードでは、未処理の例外の後に同じスレッドで実行を継続できます。 [例外処理アシスタント] では、例外がスローされた時点まで呼び出し履歴を戻すことができます。
ネイティブ コード
ネイティブ C/C++ では、2 つのオプションがあります。
[中断] をクリックし、問題を修正できます。 中断モードで、[呼び出し履歴] ウィンドウで特定のフレームを右クリックし、ショートカット メニューの [このフレームへのアンワインド] をクリックすると、呼び出し履歴をアンワインドできます。 デバッグ時に問題が修正されなかった場合は、[例外] ダイアログ ボックスが再表示されます。 問題が修正されると、[例外] ダイアログ ボックスは表示されなくなります。
[続行] をクリックすると、問題を修正しないまま実行を継続できます。 [例外] ダイアログ ボックスが再表示されます。
混合コード
ネイティブ コードとマネージ コードが混在するコードをデバッグしているときに、ハンドルされていない例外が発生した場合、オペレーティング システムの制約により、呼び出し履歴のアンワインドが抑制されます。 ショートカット メニューを使用して呼び出し履歴をさかのぼろうとすると、混合コードのデバッグ中は、ハンドルされていない例外からアンワインドすることはできないという内容のエラー メッセージが表示されます。