🛡️ App.xaml.cs の例外ハンドオフ
try { new MainWindow() }
ViewModel生成→InitializeComponent→DataContext。ここで失敗すると MessageBox で即座に停止理由を伝えます。
DispatcherUnhandledException
UIスレッドの例外をキャッチして e.Handled = true。カテゴリ切り替え時のNullでもここで止まります。
AppDomain.UnhandledException
背景で走る処理が落ちたら最後のメッセージを表示。スタックトレースも添えて終了。
まずは MainWindow() の try-catch。ViewModel を InitializeComponent より前に生成しているのは、ここで落とし切るためです。