TaskScheduler.UnobservedTaskException Ereignis
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Tritt auf, wenn die ausnahme eines fehlerhaften Vorgangs in der Lage ist, eine Ausnahmeeskalationsrichtlinie auszulösen, die standardmäßig den Prozess beenden würde.
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)
Ereignistyp
- Attribute
Hinweise
Dieses Ereignis stellt einen Mechanismus bereit, mit dem verhindert werden kann, dass die Ausnahmeeskalationsrichtlinie (die standardmäßig den Prozess beendet) ausgelöst wird.
Damit Entwickler asynchronen Code auf Der Grundlage von Aufgaben einfacher schreiben können, lösen nicht überwachte Ausnahmen die UnobservedTaskException Ausnahme aus, der Prozess wird jedoch nicht standardmäßig beendet. Stattdessen wird die Ausnahme von der Laufzeit nach dem Auslösen des Ereignisses behandelt, unabhängig davon, ob ein Ereignishandler die Ausnahme beobachtet. Dieses Verhalten kann konfiguriert werden. Sie können stattdessen das <ThrowUnobservedTaskExceptions> Konfigurationselement verwenden, um den Prozess zu beenden:
<configuration>
<runtime>
<ThrowUnobservedTaskExceptions enabled="true"/>
</runtime>
</configuration>