2012-04-25 24 views
2

私のWPFアプリケーションでは、一部のユーザーが「アプリケーションが処理できない例外を生成しました」というエラーが発生します。 Application.DispatcherUnhandledExceptionイベントハンドラを実装しましたが、例外はこのイベントによって処理されません。 アプリケーション外で例外が発生してアプリケーションが終了する可能性はありますか?メモリがある可能性がありますか?あなたはDispatcherUnhandledExceptionに加えて、試みることができるwpf未処理の例外

答えて

6

ことの一つは、内で実行されている。これは、理論的には、アプリケーションに関連するすべての例外をキャッチする必要があり

AppDomain.CurrentDomain.UnhandledException += 
     new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException); 

のAppDomainから来た例外だけではなく、ものをリッスンすることですディスパッチャ。

2

、あなたのアプリケーションの起動にもこれを追加してみました?:私の経験で

AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException); 
0

のみ一部のユーザーがエラーを取得(およびそれらのユーザーがエラーのすべての時間を取得する)場合、それは可能性が高いですプロジェクトファイルは、 'CopyToLocal'プロパティをtrueに設定せずにdllを参照します。したがって、すべてのユーザーがdllをGACにインストールしていると仮定します。これは一部のユーザーには当てはまりません。

0

あなたのハンドラが呼び出されますが、例外が未処理のままにされている場合は、イベントを処理する必要がある:e.Handled=true;参照:How to suppress UI exceptions in wpf?

+0

例外が処理されて、私はtomasmcguinnessとDummy01によって提案されている解決策で問題が解決すると思います – torpederos

関連する問題