我应该如何收集异常并将它们放入AggregateException以重新抛出?
对于我的特定代码,我有一个循环,并且将从代码的一部分抛出零个或多个异常.我希望在AggregateException出现时添加新的异常,但是文档类型表明它应该一次构造所有异常(没有方法向对象添加异常).
那么每次创建一个新的AE并且只包括异常列表中的前一个AE呢?似乎是一种很好的方式来做到这一点.
有更好的想法吗?
Dan*_*Tao 40
你在谈论这样的事吗?
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
);
Run Code Online (Sandbox Code Playgroud)
对我来说似乎是最合乎逻辑的方式.
归档时间: |
|
查看次数: |
10285 次 |
最近记录: |