根据MSDN Task.WaitAll,在至少一个Task实例的执行期间引发异常后,将一直通过AggregateException。我需要等待所有任务完成处理每个引发的异常。所以我需要做类似的事情:
while (true)
{
try
{
Task.WaitAll(tasks);
break; //only if no exception is occured
}
catch (AggregateException aex)
{
//exceptions handling...
}
}
还是更理性的方式?
文档没有说WaitAll
一旦发生异常就会立即返回。相反的情况是:它总是等待所有任务完成。
等待所有提供的Task对象完成执行。
这已经是您想要的行为。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句