Task
を使用すると未処理の例外がどのように処理されるか知っています。なぜタイマスレッドの処理されない例外がプロセスをクラッシュさせないのですか
非同期スレッド(例:Action.BeginInvoke()
)の未処理の例外が、参加呼び出しでキャッチされ再スローされる(たとえば、Action.EndInvoke()
)も認識しています。
これはプロセスをクラッシュさせない方法ですが、わかりません。 .NET 4.0のドキュメントから
static void Main(string[] args)
{
var timer = new System.Timers.Timer() {Interval = 100};
timer.Elapsed += (o, e) => { throw new Exception(); };
timer.Start();
Console.ReadKey(true);
}
これは私の人生の4〜6時間でした。私は戻ってこないでしょう。これがクラッシュしないようにするためのマイクロソフトの部分については、どんなに恐ろしい決断であろうか。 –