您好,登錄后才能下訂單哦!
MSDN原文:
任務(wù)基礎(chǔ)結(jié)構(gòu)會將內(nèi)部異常包裝在 AggregateException 實例中。 AggregateException 具有一個 InnerExceptions 屬性,可枚舉該屬性來檢查引發(fā)的所有原始異常,并單獨處理(或不處理)每個異常。 即使只引發(fā)了一個異常,也仍會將該異常包裝在 AggregateException 中。
簡單處理內(nèi)部異常的例子
var task1 = Task.Factory.StartNew(() => { throw new Exception("I'm bad, but not too bad!"); }); try { task1.Wait(); } catch (AggregateException ae) { foreach (var a in ae.InnerExceptions) { Console.WriteLine(task1.IsFaulted); //這里將輸出True,表示task1任務(wù)失敗了 Console.WriteLine(a.Message); } } Console.Read();
輸出:
True
I'm bad, but not too bad!
當(dāng)運行到throw new Exception("I'm bad, but not too bad!");的時候,VS會在這行中斷運行,并顯示錯誤消息,這是沒關(guān)系的,按F5繼續(xù)查看后續(xù)操作。
MSDN原文:
當(dāng)啟用“僅我的代碼”時,在某些情況下,Visual Studio 將在引發(fā)異常的行上中斷運行,并顯示錯誤消息“異常未由用戶代碼處理”。此錯誤是良性的。 按 F5 繼續(xù)并查看在這些示例中演示的異常處理行為。 若要阻止 Visual Studio 在出現(xiàn)第一個錯誤時中斷運行,只需在“工具”->“選項”->“調(diào)試”->“常規(guī)”下取消選中“僅我的代碼”復(fù)選框即可。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。