TaskScheduler.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;

Тип события

Атрибуты

Комментарии

Это событие предоставляет механизм для предотвращения активации политики эскалации исключений (которая по умолчанию завершает процесс).

Чтобы разработчикам было проще писать асинхронный код на основе задач, ненаблюдаемые исключения вызывают UnobservedTaskException исключение, но процесс не завершается по умолчанию. Вместо этого исключение обрабатывается средой выполнения после возникновения события, независимо от того, наблюдает ли обработчик события исключение. Это поведение можно настроить. Вместо этого можно использовать <ThrowUnobservedTaskExceptions> элемент конфигурации для завершения процесса:

<configuration>
   <runtime>
      <ThrowUnobservedTaskExceptions enabled="true"/>
   </runtime>
</configuration>

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

Өнім Нұсқалар
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

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