根据 MSDN一旦在至少一个 Task 实例的执行过程中抛出异常,Task.WaitAll 就会通过 AggregateException。 我需要等待所有任务完成处理每个抛出的异常。那么我是否需要做类似的事情:
while (true)
{
try
{
Task.WaitAll(tasks);
break; //only if no exception is occured
}
catch (AggregateException aex)
{
//exceptions handling...
}
}
还是更合理的方式?
最佳答案
文档没有说 WaitAll
会在一个异常发生时立即返回。反之亦然:它总是等待所有任务完成。
Waits for all of the provided Task objects to complete execution.
这已经是您想要的行为。
关于c# - 等待完成所有异常处理任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18852975/