Share via


例外処理 (デバッグ)

更新 : 2007 年 11 月

このトピックの内容は、次の製品に該当します。

Edition

Visual Basic

C#

C++

Web Developer

Express

トピック該当 トピック該当 トピック該当 トピック該当

Standard

トピック該当 トピック該当 トピック該当 トピック該当

Pro/Team

トピック該当 トピック該当 トピック該当 トピック該当

表の凡例 :

トピック該当

対象

トピック該当なし

該当なし

トピックは該当しますが、コマンドは既定では非表示です

既定で非表示のコマンド

例外は、プログラムの実行中に発生する異常状態です。多くの場合、例外はデバッグを必要とする問題を示します。例外が発生すると、[全般] ([オプション] ダイアログ ボックス - [デバッグ]) ダイアログ ボックスで無効にしていなければ、[出力] ウィンドウに例外メッセージが書き込まれます。

例外が発生したときに、実行を中断することも継続することもできます。

  • ASP.NET 以外で例外が発生し、処理されない場合、常に実行は中断されます。

  • エラー ハンドラが呼び出される前に、例外が発生した直後に実行を中断するように、デバッガを設定できます。詳細については、「方法 : 例外がスローされたときに中断する」を参照してください。

  • 方法 : マイ コードのみにステップ インする」でデバッグしている場合、3 つ目の選択肢があります。ユーザー コード ("マイ コード") のハンドラで処理されない例外について、中断するようにデバッガを設定できます。詳細については、「方法 : ユーザーに処理されない例外で中断する」を参照してください。

  • ASP.NET には、トップレベルの例外ハンドラが用意されています。例外を処理してブラウザにエラー ページを表示できます。このトップレベルの例外ハンドラがあれば、処理されなかった例外がデバッガに割り込むことを防ぐことができます (ただし、マイ コードのみが有効な場合は除きます)。ASP.NET をデバッグする場合は、忘れずに [マイ コードのみ] を有効にしてください。

    例外が発生し、まったく処理されない場合、デバッガは常に中断します。この操作は、[ユーザーにハンドルされていないとき] の設定に左右されません。

Visual Studio デバッガでは、次のカテゴリの例外が認識されます。

  • C++ 例外

  • 共通言語ランタイム例外

  • マネージ デバッグ アシスタント

  • ネイティブ ランタイム チェック

  • Win32 例外

ほとんどの例外には、例外が発生したときに反応するように設計されたハンドラがあります。これによって、正常ではない状況からプログラムを回復する機会ができます。ネイティブ ランタイム チェックにはハンドラはありません。

Visual Basic アプリケーションのデバッガでは、すべてのエラーが例外として表されます。On Error 形式のエラー ハンドラを使用している場合でもそうです。

Visual Basic と C# のデバッガには、例外が発生したときにより詳細な情報を提供する 例外処理アシスタント という新機能が追加されました。

以下のトピックでは、例外処理について説明します。

参照

処理手順

方法 : マイ コードのみにステップ インする

概念

デバッガのセキュリティ

その他の技術情報

例外処理アシスタント

デバッガのロードマップ