我应该如何收集异常并将它们放入 AggregateException重新扔?
对于我的特定代码,我有一个循环,并且将从代码的一部分抛出零个或多个异常。我希望在 AggregateException 出现时将新的异常添加到它们中,但文档有点表明它应该一次用所有异常构造(没有方法可以向对象添加异常)。
每次都创建一个新的 AE 并且只在异常(exception)列表中包含以前的 AE 怎么样?似乎是一种愚蠢的方式来做到这一点。
有什么更好的想法吗?
最佳答案
你在谈论这样的事情吗?
var exceptions = new List<Exception>();
foreach (var item in items) {
try {
DoSomething(item);
} catch (Exception ex) {
exceptions.Add(ex);
}
}
if (exceptions.Count > 0)
throw new AggregateException(
"Encountered errors while trying to do something.",
exceptions
);
对我来说似乎是最合乎逻辑的方式。
关于.net - 在我自己的代码中抛出 AggregateException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3025525/