调试System.AggregateException-即使在异步代码中也是如此
顾名思义,AggregateException用于在单个异常中对一个或多个异常进行批处理。在本文中,我将向您展示为什么会发生此异常,以及如何在C代码中调试它。
错误的产生和处理
让我们从强制一个产生新的AggregateException开始。这个异常在.NET的任务库中被大量使用,为什么选择一个包含任务的示例是一件轻而易举的事情:
Task task1 = Task.Factory.StartNew(() => { throw newArgumentException(); } );
Task task2= Task.Factory.StartNew(() => { throw newUnauthorizedAccessException(); } );try{
Task.WaitAll(task1, task2);
}catch(AggregateException ae)
{
}
- 上一篇: 仅通过转储来排除内存泄漏
- 下一篇: 使用Java中的InputStream读取文件数据