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>

適用対象

こちらもご覧ください