0

アルバハリは言います–</p>

静的な TaskScheduler.UnobservedTaskException イベントは、未処理のタスク例外を処理するための最後の手段を提供します。このイベントを処理することで、アプリケーションを終了させるタスク例外をインターセプトし、それらを処理するための独自のロジックを提供できます。

参照: http://www.albahari.com/threading/part5.aspx

@ReedCoopsey のコメント–</p>

UnobservedTaskException は、どのような場合でもアプリのシャットダウンを妨げないことに注意してください。これによりアプリがシャットダウンされないようにする場合は、タスク内で例外を処理するか、常にタスクを待機する必要があります。

参照: TaskScheduler.UnobservedTaskException は呼び出されません


Albahari を読み、UnObservedTaskException に登録しました。未処理の例外が発生すると、アプリケーションがダウンしました。この 2 人のスレッド処理の専門家の理解が間違っているかどうかはわかりません。UnObservedTaskException イベントをリッスンし、観察されたように例外を設定するだけで、アプリケーションがダウンしないようにすることができるかどうかを誰かに教えてもらえますか? これが例外を処理する最後の手段であるべきであり、try/catch ブロックまたは待機を使用する必要があることは理解しています。

4

1 に答える 1

3

MSDNによると、このイベントの EventArgs には次のSetObserved()メソッドがあります。

例外を「監視済み」としてマークし、デフォルトでプロセスを終了させる例外エスカレーション ポリシーをトリガーしないようにします。

イベントを処理するとき、生き続けるためのデフォルト以外のオプションがあります。

于 2012-05-31T07:17:14.740 に答える