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

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

根据 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/

相关文章:

.net - 使用 ILMerge 后无法读取自定义配置部分

.net - 修改流单元 dotnet SDK - Azure 流分析

Ruby - 数组、边界和引发异常

java - 为什么在 Java 7 中可以捕获 IOException,即使永远不会抛出 IOException

c# - 如何使用 EF 将对象保存到数据库并从数据库中创建主键?

c# - 序列化接口(interface)

.net - .NET 中的 vista/win7 放大 API

exception-handling - Ninject - 如何在构造过程中识别哪个类抛出异常

C# - 获取通用列表的项目类型

c# - 在 .NET Core 中加密字符串