TaskScheduler.UnobservedTaskException TaskScheduler.UnobservedTaskException TaskScheduler.UnobservedTaskException TaskScheduler.UnobservedTaskException Event

定義

エラーが発生したタスクの無視された例外が例外エスカレーション ポリシーをトリガーしようとする場合に発生します。既定では、プロセスを終了します。Occurs when a faulted task's unobserved exception is about to trigger exception escalation policy, which, by default, would terminate the process.

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> 
Public Shared Custom Event UnobservedTaskException As EventHandler(Of UnobservedTaskExceptionEventArgs) 
属性

注釈

このアプリケーションドメイン全体のイベントは、例外エスカレーションポリシー (既定ではプロセスの終了) がトリガーされないようにするためのメカニズムを提供します。This application domain-wide event provides a mechanism to prevent exception escalation policy (which, by default, terminates the process) from triggering.

開発者がタスクに基づいて非同期コードを簡単に記述できるよう.NET Framework 4.5.NET Framework 4.5に、は監視され例外の既定の例外動作を変更します。To make it easier for developers to write asynchronous code based on tasks, the .NET Framework 4.5.NET Framework 4.5 changes the default exception behavior for unobserved exceptions. 監視され例外でも例外がUnobservedTaskException発生しますが、プロセスは既定では終了しません。Although unobserved exceptions still raise the UnobservedTaskException exception, the process does not terminate by default. 代わりに、イベントハンドラーが例外を監視しているかどうかに関係なく、イベントが発生した後にランタイムによって例外が処理されます。Instead, the exception is handled by the runtime after the event is raised, regardless of whether an event handler observes the exception. この動作は構成できます。This behavior can be configured. 以降では、 <ThrowUnobservedTaskExceptions>構成要素を使用しての.NET Framework 4.NET Framework 4動作に戻し、プロセスを終了できます。 .NET Framework 4.5.NET Framework 4.5Starting with the .NET Framework 4.5.NET Framework 4.5, you can use the <ThrowUnobservedTaskExceptions> configuration element to revert to the behavior of the .NET Framework 4.NET Framework 4 and terminate the process:

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

適用対象

こちらもご覧ください