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>

Применяется к

См. также раздел