溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Task中處理異常

發布時間:2020-06-23 19:14:48 來源:網絡 閱讀:732 作者:cnming 欄目:編程語言

MSDN原文:
任務基礎結構會將內部異常包裝在 AggregateException 實例中。 AggregateException 具有一個 InnerExceptions 屬性,可枚舉該屬性來檢查引發的所有原始異常,并單獨處理(或不處理)每個異常。 即使只引發了一個異常,也仍會將該異常包裝在 AggregateException 中。

簡單處理內部異常的例子
 

C# code
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 在出現第一個錯誤時中斷運行,只需在“工具”->“選項”->“調試”->“常規”下取消選中“僅我的代碼”復選框即可。



 

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女