TaskScheduler.UnobservedTaskException Событие
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возникает, когда необработано исключение неисправной задачи запускает политику эскалации исключений, которая по умолчанию завершит процесс.
public:
static event EventHandler<System::Threading::Tasks::UnobservedTaskExceptionEventArgs ^> ^ UnobservedTaskException;
public static event EventHandler<System.Threading.Tasks.UnobservedTaskExceptionEventArgs> UnobservedTaskException;
public static event EventHandler<System.Threading.Tasks.UnobservedTaskExceptionEventArgs>? UnobservedTaskException;
[add: System.Security.SecurityCritical]
[remove: System.Security.SecurityCritical]
public static event EventHandler<System.Threading.Tasks.UnobservedTaskExceptionEventArgs> UnobservedTaskException;
member this.UnobservedTaskException : EventHandler<System.Threading.Tasks.UnobservedTaskExceptionEventArgs>
[<add: System.Security.SecurityCritical>]
[<remove: System.Security.SecurityCritical>]
member this.UnobservedTaskException : EventHandler<System.Threading.Tasks.UnobservedTaskExceptionEventArgs>
Public Shared Custom Event UnobservedTaskException As EventHandler(Of UnobservedTaskExceptionEventArgs)
Тип события
- Атрибуты
Комментарии
Это событие предоставляет механизм предотвращения активации политики эскалации исключений (которая по умолчанию завершает процесс).
Чтобы упростить для разработчиков написание асинхронного кода на основе задач, незаслуженные исключения вызывают UnobservedTaskException исключение, но процесс не завершается по умолчанию. Вместо этого исключение обрабатывается средой выполнения после возникновения события независимо от того, наблюдается ли обработчик событий. Это поведение можно настроить. Вместо этого можно использовать <ThrowUnobservedTaskExceptions> элемент конфигурации для завершения процесса:
<configuration>
<runtime>
<ThrowUnobservedTaskExceptions enabled="true"/>
</runtime>
</configuration>