c# - 发生了多个异常,重新抛出的正确方法是什么?

标签 c# exception

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?
  }
}

我想保留所有信息(尤其是消息和堆栈跟踪)。

最佳答案

您正在寻找 AggregateException class .

关于c# - 发生了多个异常,重新抛出的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9438131/

相关文章:

c# - Nemerle中的输入

c# - ServiceStack:RestService 中的异常未记录在 catch 子句中

android - 罕见的Android无法实例化应用异常

c# - 根据元素的 x,y 位置打印列表内容(离散整数)

c# - 在 Apple(新平台)上开发

c# - 错误 ID 的伪增量数会成为问题吗?

c# - ASP.NET Validator 的可靠性如何?

c# - 如何保证多线程写入文件时出现异常?

Java 与 Groovy 处理闭包抛出异常

java - java.library.path 中没有 mssql-jdbc_auth-8.2.1.x64