Dispatcher.UnhandledException イベント


Invoke または BeginInvoke を使用したデリゲートの実行中にスローされたスレッドの例外をキャッチできないときに発生します。Occurs when a thread exception is thrown and uncaught during execution of a delegate by way of Invoke or BeginInvoke.

 event System::Windows::Threading::DispatcherUnhandledExceptionEventHandler ^ UnhandledException;
public event System.Windows.Threading.DispatcherUnhandledExceptionEventHandler UnhandledException;
member this.UnhandledException : System.Windows.Threading.DispatcherUnhandledExceptionEventHandler 
Public Custom Event UnhandledException As DispatcherUnhandledExceptionEventHandler 
Public Event UnhandledException As DispatcherUnhandledExceptionEventHandler 


このイベントは、Invoke または BeginInvoke によるデリゲートの実行中にスローされた例外がキャッチされない場合に発生します。This event is raised when an exception that was thrown during execution of a delegate by way of Invoke or BeginInvoke is uncaught.

ハンドラーは例外を処理済みとしてマークできます。これにより、内部例外ハンドラーが呼び出されなくなります。A handler can mark the exception as handled, which will prevent the internal exception handler from being called.

このイベントのイベントハンドラーは、セカンダリ例外を作成せず、発生したものをキャッチするために注意して記述する必要があります。Event handlers for this event must be written with care to avoid creating secondary exceptions and to catch any that occur. ハンドラーでメモリを割り当てたり、リソースを大量に消費する操作を実行したりしないようにすることをお勧めします。It is recommended to avoid allocating memory or doing any resource intensive operations in the handler.

UnhandledExceptionFilter イベントは、UnhandledException イベントを発生させない手段を提供します。The UnhandledExceptionFilter event provides a means to not raise the UnhandledException event. 最初に UnhandledExceptionFilter イベントが発生し、DispatcherUnhandledExceptionFilterEventArgsRequestCatchfalseに設定されている場合、UnhandledException イベントは発生しません。The UnhandledExceptionFilter event is raised first, and If RequestCatch on the DispatcherUnhandledExceptionFilterEventArgs is set to false, the UnhandledException event will not be raised.