🛡️ App.xaml.cs の例外ハンドオフ

try { new MainWindow() }

ViewModel生成→InitializeComponent→DataContext。ここで失敗すると MessageBox で即座に停止理由を伝えます。

DispatcherUnhandledException

UIスレッドの例外をキャッチして e.Handled = true。カテゴリ切り替え時のNullでもここで止まります。

AppDomain.UnhandledException

背景で走る処理が落ちたら最後のメッセージを表示。スタックトレースも添えて終了。

まずは MainWindow() の try-catch。ViewModel を InitializeComponent より前に生成しているのは、ここで落とし切るためです。