Как поймать / наблюдать необработанное исключение, выброшенное из Задачи

Я пытаюсь регистрировать / сообщать обо всех необработанных исключениях в моем приложении (решение об ошибках). Я сталкивался со сценарием, который всегда необработан. Мне интересно, как бы я уловил эту ошибку необработанным способом. Обратите внимание, что сегодня утром я провел кучу исследований и много чего пробовал. Да, я виделэто, это и многое другое. Я просто ищу общее решение для регистрации необработанных исключений.

У меня есть следующий код внутри основного метода консольных тестовых приложений:

Task.Factory.StartNew(TryExecute);

или же

Task.Run((Action)TryExecute);

а также следующий метод:

private static void TryExecute() {
   throw new Exception("I'm never caught");
}

Я уже пытался подключиться к следующему в моем приложении, но они никогда не вызывают.

AppDomain.CurrentDomain.UnhandledException
TaskScheduler.UnobservedTaskException

В моем приложении Wpf, где я изначально обнаружил эту ошибку, я также подключился к этим событиям, но она так и не была вызвана.

Dispatcher.UnhandledException
Application.Current.DispatcherUnhandledException
System.Windows.Forms.Application.ThreadException

Единственный обработчик, который вызывается когда-либо:

AppDomain.CurrentDomain.FirstChanceException

но это недопустимое решение, так как я хочу только сообщить о неперехваченных исключениях (не каждое исключение, поскольку FirstChanceException вызывается до того, как какие-либо блоки catch когда-либо будут выполнены / разрешены).

Ответы на вопрос(2)

Ваш ответ на вопрос