web-dev-qa-db-ja.com

VisualStudio-特定の「例外スロー」メッセージを抑制します

特定のメソッド(特定のコード領域)の出力で「例外スロー」メッセージを非表示にできますか?

サーバー通信にはHttpWebRequestを使用しています。サーバーが使用可能かどうかを定期的にチェックします(毎秒数回)。サーバーに到達できない場合、HttpWebRequestは例外をスローします。私はそれをキャッチし、GUI要素をfalseに有効に設定します。問題は、サーバーに到達できない場合、出力ウィンドウが「例外がスローされました」というメッセージで乱雑になることです。

出力ウィンドウを右クリックして、[例外メッセージ]のチェックを外すことができます。しかし、私はプロジェクトに取り組んでいるだけではなく、他の例外メッセージ(プロジェクトの一部)を見たいと思っている人がいるかもしれません。

必要なものの例:

// Keep showing "Exception thrown" message in this method.
static void Foo()
{
    try
    {
        throw new Exception();
    }
    catch (Exception e)
    {
        // Process exception
    }
}

// Suppress "Exception thrown" message when it is thown in this method.
static void FooSuppress()
{
    try
    {
        throw new Exception();
    }
    catch (Exception e)
    {
        // Process exception
    }
}

static void Main(string[] args)
{
    Foo();
    FooSuppress();
}

編集:

私のコードだけ inTools/Options/Debuggingを有効にすると役立つ場合があります。

Npgsqlを使用してPostgreSQLデータベースにアクセスしましたが、一部の呼び出しでタイムアウトが発生しました。コールがタイムアウトするたびに、「例外がスローされました」が出力ウィンドウに書き込まれました(そしてたくさんありました)。 私のコードだけそれを防ぎます。

15

例外メッセージを無効にするには:

(1)前回の返信と同様に、出力ウィンドウで無効にすることができます。

(2)[ツール]-> [オプション]-> [デバッグ]-> [出力ウィンドウ]で無効にすることもできます。

(3)または、[デバッグ]メニュー-> [ウィンドウ]-> [例外設定]の[例外設定]を使用して例外をスローすることもできます。

コード内の例外を実際に解決/処理しない限り、これを無効にする他の回避策は見つかりません。 VS2015バージョンを使用してテストします。

他に良い提案はありませんが、ここで機能を送信するのを手伝います: https://visualstudio.uservoice.com/forums/121579-visual-studio-ide/suggestions/16752127-visual-studio-suppress-certain-例外-スロー-私

あなたはそれを投票することができます。

9
Jack Zhai-MSFT

少し待つか、プレリリースバージョンを使用する場合は、次のバージョンのVisual Studio(VS 15)に「 例外設定に条件を追加 "」という機能があります。

例外設定に条件を追加する

スローされた例外でブレークするようにデバッガーを構成する場合、指定されたモジュールで例外がスローされた場合にのみデバッガーがブレークするように条件を追加できます。

Edit Conditions dialog box

これにより、例外が発生するタイミングにフィルターを設定できます。

0