4

.Net の例外処理で奇妙な動作に遭遇しました。(私は MS Visual Studio 2008 で C# を使用していますが、ここで見た 1 つの質問は、私が見ていることが .Net の世界全体で真実であることを暗示しているように思われました。) 私はプレーンな WinForm アプリケーションを作成しています。未処理の例外が、try ブロックの外側の form_load イベント ハンドラー内で意図的にスローされるようにしています。通知が来ません。通常のメソッドで未処理の例外が発生した場合、メッセージがポップアップ表示され、例外が発生したことが通知され、問題に関する情報が提供されます。しかし、ハンドラーでは、コードは、それが発生したことを誰にも知らせることなく、静かに関数を終了します。try/catch ブロックを追加すると、期待どおりに例外がキャッチされます。

この動作がすべてのイベント ハンドラで発生するというのは本当ですか? そして、これは予想される動作ですか?もしそうなら、イベント ハンドラーが予期せず停止した場合に悪いことが起こる危険性が大きすぎるためでしょうか?

4

1 に答える 1