button_click
イベントでは、非同期で時間のかかる計算を開始しますTask
。Task.ContinueWith
UI 同期コンテキストへの継続に TaskShedulerを使用して設定し、非同期計算の結果をTextbox
.
ここで、この最後の部分が次のような例外をスローするとします。
private void button1_Click(object sender, EventArgs e)
{
Task.Factory.StartNew(DoSomeCalculations).ContinueWith
(t => { throw new Exception("Some Exception"); }, TaskScheduler.FromCurrentSynchronizationContext());
}
デバッグ オプション "Enable Just My Code" を有効にすると、プログラムが停止し、"Exception was unhandled by user code" という警告が表示されます。
しかし、このオプションを設定しないと、例外はどこにも消えません (プログラムのクラッシュはなく、何もありません)。
では、この例外をどこでどのように処理できますか?
編集:タグが示すように、私は.NET-4.0を使用していることに注意してください