私のWPFアプリケーションでは、一部のユーザーに「アプリケーションが処理できない例外を生成しました」というエラーが表示されます。Application.DispatcherUnhandledExceptionイベントハンドラーを実装しましたが、例外はこのイベントによって処理されません。アプリケーションの外部で例外が発生し、アプリケーションが閉じられる可能性はありますか?おそらくメモリがありますか?
質問する
2514 次
4 に答える
6
DispatcherUnhandledExceptionに加えて、試すことができる1つのことは、AppDomainからの例外をリッスンすることです。
AppDomain.CurrentDomain.UnhandledException +=
new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException);
これは、理論的には、ディスパッチャ内で実行されている例外だけでなく、アプリケーションに関連するすべての例外をキャッチする必要があります。
于 2012-04-25T08:31:10.720 に答える
2
これもアプリケーションのスタートアップに追加してみましたか?:
AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException);
于 2012-04-25T08:32:06.170 に答える
0
私の経験では、一部のユーザーだけがエラーを受け取る場合(そしてそれらのユーザーが常にエラーを受け取る場合)、プロジェクトファイルは「CopyToLocal」プロパティをtrueに設定せずにdllを参照する可能性があります-したがって、すべてのユーザーがdllを持っていると仮定しますGACにインストールされています-一部のユーザーには当てはまらない場合があります。
于 2012-04-25T08:42:23.837 に答える
0
ハンドラーが呼び出されても例外が未処理のままである場合は、イベントを処理する必要があります。「wpfでUI例外を抑制する方法」をe.Handled=true;
参照してください。
于 2012-04-25T13:16:45.270 に答える