2011-12-08 5 views
4

私は、次のC#のコードを持っている:私はリリースでこのコードを実行し、サービスへの大量のデータをプッシュすると例外処理のC#は期待どおりに動作しません - なぜですか?

try 
{ 
    response = this.writeDataToChannel(writeRequest); 
    if (response.Failures != null) 
    { 
     Console.WriteLine(response.Failures.First().cause); 
    } 
} 
catch (TimeoutException te) 
{ 
    Console.Error.WriteLine(te.Message); 
} 

、VS2010はTimeoutExceptionと「writeDataToChannel」行で停止します。私のキャッチブロックは例外をキャッチすべきではなく、タイムアウトが発生したときにそれを印刷するだけですか?

"writeDataToChannel"コードはWSDLから生成されたもので、たくさんのデータをWebサービスにプッシュするまで書き込みが常に機能するため、リクエストに問題はないと思います。

これは名前空間の問題ではなく、どちらの場合もSystem.TimeoutExceptionです。

+0

プロジェクトをデバッグしていますか? – rsbarro

+3

あなたはデバッガについて話しています。デバッガで_course_ランニングコードの動作が異なります!デバッガは、例外を見るチャンスを与えています。 F5キーを押すとキャッチブロックに移動します。 –

+0

これはWebサービスのコンテキスト内で実行されますか? – jrummell

答えて

7

それは私に聞こえます。メニュー項目Debug->Exceptionsに移動して、CLRの例外の設定を確認してください。あなたが記述している動作を取得するには、キャッチされた例外やキャッチされていない例外を止めたくありません。

また、デバッガで実行しないでください。あなたは、おそらく他の人が述べたように、例外ダイアログ(Ctrl + Alt + Eのチェックを外しCLR例外)

+0

私はこれらの設定について知らなかった、あなた(そしてこの回答で答えた他の人)は正しい。 – Dale

-8

あなたのtry/catchで何かをキャッチするためにスローする必要があります。あなたはVisual Studioがスローされた例外で停止するように設定されているよう

 throw 
+1

これは当てはまりません。 – BZink

+10

あなたはもっと多くの担当者を失う前にあなたの答えを削除する必要があります! – jrummell

+0

彼は例外をスローしません。基になるクラスまたはライブラリが例外をスローしています。 –

5

プロジェクトをデバッグしているとき、これは(たまたまF5キーを押すか、緑色の三角ボタン ">"をクリックします)。

デバッグなしで実行するには、CTRL + F5を入力するか、[デバッグなしで開始]メニューの選択またはボタンをクリックします。

他の人が触れたように、例外を停止するオプションを必ずしも削除する必要はありませんが、迷惑になる場合は先に進んでください。

2

の各スローされた例外でブレークしないようにVSを指示する必要があり

関連する問題