【发布时间】:2012-02-24 21:12:57
【问题描述】:
public void DoRiskyThings(List<Action> tasks)
{
List<Exception> exceptions = new List<Exception>();
foreach(Action task in tasks)
{
try {task()}
catch (Exception e) {exceptions.Add(e)};
}
if (exceptions.Any())
{
//... what goes here?
}
}
我想保留所有信息(尤其是消息和堆栈跟踪)。
【问题讨论】:
-
查看这个高度赞成的答案:stackoverflow.com/a/178464/555547
-
@Jason 很好,但是这种重新抛出的方法只能在 catch 块内工作。我在它之外。
-
@Jason:他想抛出多个异常。那是行不通的。