1

アプリケーションの終了時に例外をスローする VB.Net WinForms アプリケーションがあります。例外はアプリケーションを閉じるときにのみ発生し、アプリケーションの機能にはまったく影響しません。スローされる例外はInvalidOperationExceptionであり、デバッガーは例外が発生している場所を特定できません。Visual Studio 2008 では、行番号を参照せずにポップアップ ウィンドウに例外が表示されます。

まったく同じ問題を抱えている他の人がいます:http: //bytes.com/topic/c-sharp/answers/659366-invalidoperationexception-appeared-after-introduction-webbrowser-control

このリンクで述べたように、例外は断続的ですが、何らかの形で WebBrowser コントロールに関連しています。アプリケーションを終了する際の例外は、WebBrowser コントロールを持つ少なくとも 2 つのフォームが表示されている場合にのみ発生するためです。(または、WebBrowser コントロールを 2 回開いて閉じた 1 つのフォーム。)

VB.Net では、AppDomain.CurrentDomain.UnhandledExceptionハンドラーで例外をキャッチできますが、Windows が例外を報告しないようにする唯一の方法は、MessageBoxを使用してハンドラーにメッセージを表示することです。ハンドラーでMessageBox.Show呼び出しを省略した場合、アプリケーションの終了時に例外が報告されます。

アプリケーションが常に正常に終了するように、 UnhandledExceptionハンドラーでこの例外を抑制する方法を知っている人はいますか?

4

1 に答える 1

1

この質問への回答の 1 つに、私の質問への回答が見つかりました。

ThreadException の使用方法

これを UnhandledException メソッドに追加して、Windows クラッシュ通知が表示されないようにします。

環境.終了(1)

この有益な情報を提供してくれたHans Passantに感謝します。

于 2012-05-22T19:24:01.383 に答える