gpt4 book ai didi

c# - 当 AggregateException.InnerExceptions.Count > 1 时,有人遇到过这种情况吗?

转载 作者:太空狗 更新时间:2023-10-29 18:29:23 32 4
gpt4 key购买 nike

我想知道,有没有人遇到过 AggregateException.InnerExceptions.Count > 1 的情况?

例如,TPL 将在任务主体中引发的异常包装在 AggregateException 中。但我从未见过有不止一个内部异常的情况。

如何通过 TPL 实现这一点?
如何使用任何 FCL(或其他广泛使用的库)类(样本会有用)来实现这一点?

我知道,有可能构建这样的 AggregateException 实例,但问题在于实践。我问这个问题是因为我想了解处理 AggregateException 的最佳方法是什么。

最佳答案

典型的情况是一个任务依赖于多个任务,并且其中多个任务抛出异常。例如:

var t1 = Task.Factory.StartNew( () => { throw new Exception(); } );
var t2 = Task.Factory.StartNew( () => Console.WriteLine("Innocuous") );
var t3 = Task.Factory.StartNew( () => { throw new Exception(); } );

// Output: 2
var t4 = Task.WhenAll(t1, t2, t3)
.ContinueWith(t => Console.WriteLine(t.Exception.InnerExceptions.Count),
TaskContinuationOptions.OnlyOnFaulted);

关于c# - 当 AggregateException.InnerExceptions.Count > 1 时,有人遇到过这种情况吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16171221/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com