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>

適用対象

こちらもご覧ください