C#で同じ例外を処理しながら2つの異なる結果があるのですか?

StackOverflow https://stackoverflow.com/questions/3491851

  •  28-09-2019
  •  | 
  •  

質問

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で始めたように見えます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top