TaskScheduler.UnobservedTaskException Événement
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Se produit lorsque l’exception non prise en charge d’une tâche ayant échoué est sur le point de déclencher la stratégie de promotion d’exception, qui, par défaut, arrête le processus.
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)
Type d'événement
- Attributs
Remarques
Cet événement fournit un mécanisme pour empêcher la stratégie d’escalade des exceptions (qui, par défaut, arrête le processus) de se déclencher.
Pour permettre aux développeurs d’écrire plus facilement du code asynchrone basé sur des tâches, les exceptions non observées déclenchent l’exception UnobservedTaskException , mais le processus ne se termine pas par défaut. Au lieu de cela, l’exception est gérée par le runtime après le déclenchement de l’événement, qu’un gestionnaire d’événements observe ou non l’exception. Ce comportement peut être configuré. Vous pouvez utiliser l’élément <ThrowUnobservedTaskExceptions>
de configuration pour arrêter le processus à la place :
<configuration>
<runtime>
<ThrowUnobservedTaskExceptions enabled="true"/>
</runtime>
</configuration>