方法 : 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 例外を有効にするには

  1. [デバッグ] メニューの [例外] をクリックします。

    [例外] ダイアログ ボックスが表示されます。

  2. [Common Language Runtime Exceptions] 行の [スローされるとき] または [ユーザーにハンドルされていないとき] チェック ボックスをオンにします。

    [ユーザーにハンドルされていないとき] 設定を使用するには、[マイ コードのみ] を有効にする必要があります。詳細については、「方法 : マイ コードのみにステップ インする」を参照してください。

ASP.NET の例外処理で推奨される手順を使用するには

  • 予測でき、処理方法がわかる例外をスローできるコードを、try … catch ブロックで囲みます。たとえば、アプリケーションから XML Web サービスを呼び出したり、SQL Server を直接呼び出したりする場合、そのコードは、try … catch ブロックで囲みます。この場合、数多くの例外が発生すると予想できるためです。

参照

処理手順

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