等待异常处理完成所有任务

时间:2013-09-17 14:44:43

标签: c# .net exception-handling task-parallel-library wait

根据MSDN Task.WaitAll在执行至少一个Task实例期间抛出异常时立即通过AggregateException。 我需要等待所有任务完成处理每个抛出的异常。所以我需要做类似的事情:

while (true)
{
    try
    {
        Task.WaitAll(tasks);
        break; //only if no exception is occured
    }
    catch (AggregateException aex)
    {
        //exceptions handling...
    }
}

还是更合理的方式?

1 个答案:

答案 0 :(得分:6)

文档并未说明WaitAll会在发生一个异常时立即返回。反之亦然:它始终等待所有任务完成。

  

等待所有提供的Task对象完成执行。

这已经是您想要的行为了。

相关问题