C# 使用AggregateException 信息
生活随笔
收集整理的這篇文章主要介紹了
C# 使用AggregateException 信息
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
為了得到所有失敗任務的異常信息,可以將 Task.WhenAll 返回的結果寫到一個Task 變量中。這個任務會一直等到所有任務都結束。否則,仍然可能錯過拋出的異常。上一小節中,catch 語句只檢索到第一個任務的異常。不過,現在可以訪問外部任務的Exception 屬性了。Exception 屬性是AggregateException類型的。這個是常類型定義了InnerExceptions 屬性(不只是InnerException),它包含了等待中的所有異常的列表。現在,可以輕松遍歷所有異常了。
代碼如下
private?static?async?void?ShowAggregatedException()? {Task?taskResult?= null;try{Task?tl?=?ThrowAfter(2000, "first");?Task?t2 =?ThrowAfter(1000, "second");await?(taskResult?=?Task.WhenAll(t1, t2));}catch (Exception ex){Console.WriteLine($"handled?{ex.Message}");foreach (var ex1 in taskResult.Exception.InnerExceptions){Console.WriteLine($"inner?exception?{ex1.Message}");}} }總結
以上是生活随笔為你收集整理的C# 使用AggregateException 信息的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 介绍这个库:C# Blazor中显示Ma
- 下一篇: OxyPlot 导出图片及 WPF 元素