代码中AggregateException的处理
2024-05-08 07:22:41
在async方法中,发生一个异常时,代码并不会直接跳到catch语句中去,而是继续执行,所以到最后catch语句中得到的错误信息是one or more exceptions occurs…
这样的设计给我们带来了麻烦就是传统的try/catch方法得到的无法得到具体的错误信息。
【解决方法】
- 在catch语句中记录错误信息
if (e is { AggregateException ae = (AggregateException)e; ae.Handle((x) => { exception = x.Message; return }); } else { exception = e.Message; } |
- 在 catch语句中取到AggregateException的信息(类似解决方法1),然后重新抛出一个带有具体错误信息的异常给调用者。
- 将异常转成AggregateException后,可以取到InnerException或者InnerExceptions, 然后再用解决方法1或者2进行处理。
最新文章
- HUSTOJ(转发)
- wuzhicms 后台登录存留时间实现方式
- win7 debian 双系统修改引导项顺序
- 一个MP3播放的插件jPlayer
- 通过条件注释<;!--[if IE]>;<;!-->;判断浏览器
- Navicat连接Oracle报错_Cannot load OCI DLL 87
- python数据类型——字典类型
- Spring Boot初探之数据库访问
- 网络1712--c语言嵌套循环作业总结
- css太极
- Redis学习-string数据类型
- NPOI导入导出EXCEL通用类,可直接使用在WinForm项目中
- thinkCMF----导航高亮显示
- 《Blue Flke团队》第二次作业通讯录项目开题报告
- PAT——1024. 科学计数法
- MySQL实现允许远程用户登录(使用Navicat for MySQL工具)
- java之基本数据类型与引用数据类型
- Codeforces #447 Div.2 Tutorial
- Codeforces 449D Jzzhu and Numbers(高维前缀和)
- Linux下的目录结构