はじめに WPFで未処理の例外を処理する方針が、毎回わからなくなるので、ここに整理しておきます。 ベストプラクティス つぎのようにApp.xamlのStartupにイベントハンドラーを追加して private void App_OnStartup(object sender, StartupEventArgs e) { DispatcherUnhandledException += (o, args) => { // ログ出力処理 args.Handled = true; // 例外処理の中断 if ( /** アプリケーションを継続可能か判定する **/ ) { // アプリケーションが継続実行可能な場合 // ユーザーへの適切な通知処理など } else { // アプリケーションが継続不可能な場合 // ユーザーへ適切に通知したのち、リソースを解法してエラーとしてアプリケーションを終