UnobservedTaskException
を処理して、ファイナライザがオブジェクトで実行されているときに観察できない例外がアプリケーションを終了させないようにすることができます。観測されていないタスクの例外の処理
ただし、このイベントのハンドラを設定する場所や時期はわかりません。 TaskScheduler
クラス内のイベント自体のXMLドキュメントは言う:
/// This AppDomain-wide event provides a mechanism to prevent exception
/// escalation policy (which, by default, terminates the process) from triggering.
/// Each handler is passed a <see cref="T:System.Threading.Tasks.UnobservedTaskExceptionEventArgs"/>
/// instance, which may be used to examine the exception and to mark it as observed.
これは私だけ全体のAppDomainで1つのハンドラを必要とするということですか?そして、観察されないタスクの例外はすべてそれによって処理されるでしょうか?
アセンブリごとまたはクラスごとにハンドラが必要ですが、そのアセンブリ/クラス内のタスクからの観察されない例外だけがそのハンドラに移動しますか?
これは私が返信のおかげで思ったことです。 – Lyall
@Drew Marshこんにちは、私はそれをしましたが、ここで解決していません:http://stackoverflow.com/questions/11831844/unobservedtaskexception-being-throw-but-it-is-handled-by-a-taskscheduler-unobser – newway