方法 : ASP.NET の例外をデバッグする
更新 : 2007 年 11 月
このトピックの内容は、次の製品に該当します。
Edition |
Visual Basic |
C# |
C++ |
Web Developer |
---|---|---|---|---|
Express |
||||
Standard |
||||
Pro/Team |
表の凡例 :
対象 |
|
該当なし |
|
既定で非表示のコマンド |
例外のデバッグは、堅牢な ASP.NET アプリケーションの開発で重要な部分です。例外をデバッグする方法の一般的な情報については、「例外処理 (デバッグ)」を参照してください。
ハンドルされない ASP.NET 例外をデバッグする場合、その例外でデバッガを中断する必要があります。ASP.NET ランタイムには、トップレベルの例外ハンドラがあります。このため、既定では、デバッガはハンドルされない例外で中断されません。例外がスローされたときにデバッガを中断するには、[例外] ダイアログ ボックスで、その例外について [例外が次の場合に中断する] で [スローされるとき] の設定を選択します。
"マイ コードのみ" を有効にしている場合は、[例外が次の場合に中断する] で [スローされるとき] を選択しても、例外が .NET Framework メソッドや他のシステム コード内でスローされても、デバッガはすぐには中断されません。デバッガがシステム コード以外のコードをヒットするまで実行は継続され、ヒットした時点でデバッガは中断されます。つまり、例外が発生したときにシステム コードをステップ実行する必要はありません。
"マイ コードのみ" では、さらに便利な [例外が次の場合に中断する:] で [ユーザーにハンドルされていないとき] を選択することもできます。例外にこの設定を選択すると、ユーザー コードで例外が取得され、処理された場合にのみ、デバッガによってユーザー コードの実行が中断されます。この設定では、トップレベルの ASP.NET 例外ハンドラの効果が無視されます。この例外ハンドラがユーザー コードではないためです。
[マイ コードのみ] で ASP.NET 例外を有効にするには
[デバッグ] メニューの [例外] をクリックします。
[例外] ダイアログ ボックスが表示されます。
[Common Language Runtime Exceptions] 行の [スローされるとき] または [ユーザーにハンドルされていないとき] チェック ボックスをオンにします。
[ユーザーにハンドルされていないとき] 設定を使用するには、[マイ コードのみ] を有効にする必要があります。詳細については、「方法 : マイ コードのみにステップ インする」を参照してください。
ASP.NET の例外処理で推奨される手順を使用するには
- 予測でき、処理方法がわかる例外をスローできるコードを、try … catch ブロックで囲みます。たとえば、アプリケーションから XML Web サービスを呼び出したり、SQL Server を直接呼び出したりする場合、そのコードは、try … catch ブロックで囲みます。この場合、数多くの例外が発生すると予想できるためです。