Чтобы перехватить исключение, вам нужно либо выполнить попытку / перехватить в методе Loaded, либо вы можете указать Диспетчеру уведомить вас о возникновении необработанного исключения.
Попробуйте выполнить следующее, например, в методе OnStartup вашего приложения:
App.Current.DispatcherUnhandledException += (s,e) =>
{
// Handle the exception here
var ex = e.Exception;
};
Редактировать:
Если вы хотите, чтобы приложение аварийно завершилосьзатем попробуйте следующее:
App.Current.DispatcherUnhandledException += (s,e) =>
{
// this should cause your application to crash :-)
throw new Exception("Now it should crash!", e.Exception);
};
Разница в том, что мы создаем новое исключение, которое выдается в потоке пользовательского интерфейса.