時々、再現できない状況で、WPF アプリケーションがメッセージなしでクラッシュすることがあります。アプリケーションはすぐに閉じます。
グローバル Try/Catch ブロックを実装するのに最適な場所はどこですか。少なくとも、「ご不便をおかけして申し訳ございません...」というメッセージ ボックスを実装する必要があります。
ベストアンサー1
未処理の例外はさまざまなレベルでトラップできます。
AppDomain.CurrentDomain.UnhandledException
AppDomain 内のすべてのスレッドから。Dispatcher.UnhandledException
特定の単一の UI ディスパッチャ スレッドから。Application.Current.DispatcherUnhandledException
WPF アプリケーションのメインUI ディスパッチャー スレッドから。TaskScheduler.UnobservedTaskException
非同期操作にタスク スケジューラを使用する各 AppDomain 内から。
未処理の例外をどのレベルでトラップする必要があるかを検討する必要があります。
2 番目と 3 番目のどちらを選択するかは、複数の WPF スレッドを使用しているかどうかによって決まります。これはかなり特殊な状況であり、使用しているかどうか不明な場合は、使用していない可能性が高いです。