次の方法で共有


方法 : ASP.NET の例外をデバッグする

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

エディション

Visual Basic

C#

F#

C++

Web Developer

Express

トピック該当なし トピック該当なし トピック該当なし トピック該当なし トピック該当

Pro、Premium、Ultimate

トピック該当 トピック該当 トピック該当なし トピック該当なし トピック該当

例外のデバッグは、堅牢な 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 ブロックで囲みます。この場合、数多くの例外が発生すると予想できるためです。

参照

処理手順

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