C#で同じ例外を処理しながら2つの異なる結果があるのですか?
質問
2つのプログラムで同じ例外を処理しましたが、異なる結果が得られました。どうしてか分かりません。
最初の結果は、プログラムがキャッチできないものです
scapshot1:www.freeimagehosting.net/uploads/e2b37433a3.png
そして2つ目は、プログラムが捕まえられるようになるものです
scapshot2:www.freeimagehosting.net/uploads/6ab7564999.png
なぜそんなに違うのですか?
解決
まあ、あなたは本当に多くのコンテキストを提供していません。チェックするもの:
- それらは同じタイプのアプリケーション(WPF、Winforms、Silverlight、Consoleなど)ですか?
- 彼らは同じバージョンの.NETを使用していますか?
- 彼らは同じバージョンのWindowsで実行されていますか?
- 彼らは、未処理の例外に反応するための同じコードを持っていますか?
他のヒント
私が見ることができるものから、#1でデバッガーで実行されています。 #2ではそうではありません。
実際、メッセージが同じであるため、例外がまったく同じであると仮定します。違いはありません、IOW。
私が理解しているかどうかはわかりません、それは同じエロのように見えますが
- PIC1-未処理のエラー
- PIC2-処理エラー
詳細を提供してください
例外に直面したデバッガーの動作は大きく異なる場合があります。
application.unhandledexceptionModeを変更することはできません。アプリケーションが呼び出された後、それは明らかに例外をキャッチするものではありません。
appdomain.unhandledexceptionを残します。はい、デバッガーはそのイベントが提起される前に例外を破ります。素晴らしい機能を使用すると、例外の理由をデバッグできます。 F5を押して実行を続行してイベントハンドラーをトリガーします。 2回目のスクリーンショットでデバッガーを使用しているという証拠はありません。CTRL+F5で始めたように見えます。
所属していません StackOverflow