У меня возникли проблемы с исключением, которое я получаю от некоторого асинхронного кода. Я не хочу блокировать свою тему, пока
private async Task ThrowSomeExceptionAsync()
{
//Some long running process would go here...
throw new Exception();
}
Это метод, который я хочу вызвать и поймать исключение. Я использую Application.UnhandledException для перехвата моих исключений, но в данном случае оно не перехватывается.
Я попытался дождаться заполнения свойства Exception в возвращаемом объекте Task, но оно блокируется, пока задача выполняется.
Использование метода ContinueWith предотвратило блокировку, но любые исключения, созданные делегатом, не были перехвачены событием UndhandledException.
Как выполнить этот код асинхронно, но при этом использовать событие UnhandledException для обработки ошибок? Я упускаю какое-то фундаментальное понятие об этом событии?