当前位置: 首页 > 知识库问答 >
问题:

如何修复“'System.AggregateException'在mscorlib中发生.dll”

弓胜泫
2023-03-14

我在调试时收到一个未处理的异常,程序停止执行。调试器没有显示代码行,所以我不知道该修复什么。

mscorlib 中发生了类型为“System.AggregateException”的未处理异常.dll

附加信息:通过等待任务或访问其异常属性,未观察到任务的异常。结果,未观察到的异常被终结器线程重新引发。

无法获取局部值或参数 '

我该如何解决这个问题?

我也发现了这个非常相似的问题。


共有3个答案

孙博艺
2023-03-14

如果您可以轻松地重现问题,则可以接受答案。但是,作为最佳实践,您应该捕获任务中执行的任何异常(和日志记录)。否则,如果任务中发生任何意外情况,应用程序将崩溃。

Task.Factory.StartNew(x=>
   throw new Exception("I didn't account for this");
)

但是,如果我们这样做,至少应用程序不会崩溃。

Task.Factory.StartNew(x=>
   try {
      throw new Exception("I didn't account for this");
   }
   catch(Exception ex) {
      //Log ex
   }
)
朱啸
2023-03-14

您可以直接处理异常,这样它就不会使您的程序崩溃(捕获Aggregate Exception)。您还可以查看内部异常,这将为您提供更详细的错误解释:

try {
    // your code 
} catch (AggregateException e) {

}
王扬
2023-03-14

正如消息所说,您有一个任务引发了一个未处理的异常。

打开Break on All Exceptions(Debug, Exceptions)并重新运行程序
这将向您显示最初抛出的异常。

(附加注释):在VS2015(或更高版本)中。选择调试

 类似资料: