在C#中,ContinueWith
方法本身并不直接處理錯誤。它主要用于在任務完成后執行另一個任務,可以處理前一個任務的異常,但不會改變異常的行為。
如果你想在ContinueWith
中處理異常,可以使用捕獲
關鍵字來捕獲異常,然后根據需要處理它。這是一個示例:
Task task = Task.Run(() => {
// 這里執行你的任務代碼
});
task.ContinueWith(t => {
if (t.IsFaulted) {
// 處理異常
Exception ex = t.Exception;
Console.WriteLine("發生異常: " + ex.Message);
} else {
// 處理成功完成的任務
}
}, TaskContinuationOptions.OnlyOnFaulted);
在這個示例中,我們使用TaskContinuationOptions.OnlyOnFaulted
選項來確保只有在任務發生異常時才會執行ContinueWith
中的代碼。然后我們使用IsFaulted
屬性來檢查任務是否發生了異常,并使用Exception
屬性來獲取異常信息。