架构师_程序员_码农网

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

搜索
查看: 14|回复: 1

[技巧] .NET/C# 多线程任务 AggregateException 异常解析

[复制链接]
发表于 昨天 19:22 | 显示全部楼层 |阅读模式
需求:在使用 Tasks.Parallel 多线程并行执行任务的时候,有可能同时产生多个异常错误,多个异常会合并包装在 AggregateException 中,单个异常可能不会立即中断所有正在跑的线程,而是等其他已经在跑的worker把手头或附近的工作做个收尾或检测到异常信号后,将所有线程中发生的异常打包封装成一个 AggregateException 并向外抛出。

C# 中的 AggregateException 用于将多个并发错误打包成单个异常对象,常见于任务并行库 (TPL)、PLINQ 或调用 Task.Wait、Task.Result 时。如果外面使用 try-catch 包裹,直接打印输出 System.AggregateException: One or more errors occurred. 异常信息,如何遍历每一个异常呢?

测试代码如下:
如下图:

QQ截图20260727192211.jpg




上一篇:.NET/C# 基于 LibGit2Sharp 查看 Git 仓库提交记录
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
 楼主| 发表于 昨天 19:23 | 显示全部楼层
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

免责声明:
码农网所发布的一切软件、编程资料或者文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:help@itsvse.com

QQ|小黑屋|架构师 ( 鲁ICP备14021824号-2 )|网站地图

GMT+8, 2026-7-28 00:00

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表