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