专栏首页黄腾霄的博客2019-1-2-使用AggregateException的Handle过滤指定异常

2019-1-2-使用AggregateException的Handle过滤指定异常

在一些并行操作或者任务列表执行的过程中,会需要用到AggregateException进行聚合异常的处理


由于是聚合异常,他可能包含许多不同类型的内部异常。

很可能其中的一部分是我们预期的,期望是被Handle。但是另一部分我们却期望将其重新抛出

对于这种需求有一种简单的解决方案AggregateExceptionHandle方法

	public async void Foo()
   {
      try {
          await Task.Run( () => { throw new CustomException("This exception is expected!"); } );
      }
      catch (AggregateException ae)
      {
         ae.Handle(ex => { if (ex is CustomException)
                             Console.WriteLine(ex.Message);
                          return ex is CustomException;
                        });
      }
   }

对于各个内部异常,如果返回是True,则将会被handle;如果返回是false,则将会被 rethrow。

这样就能优雅的处理不同的内部异常

参考链接:


本文会经常更新,请阅读原文: https://xinyuehtx.github.io/post/%E4%BD%BF%E7%94%A8AggregateException%E7%9A%84Handle%E8%BF%87%E6%BB%A4%E6%8C%87%E5%AE%9A%E5%BC%82%E5%B8%B8.html ,以避免陈旧错误知识的误导,同时有更好的阅读体验。

本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。欢迎转载、使用、重新发布,但务必保留文章署名黄腾霄(包含链接: https://xinyuehtx.github.io ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请 与我联系

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 2019-1-2-使用flatten展开AggregateException

    在一些并行操作或者任务列表执行的过程中,会需要用到AggregateException进行聚合异常的处理

    黄腾霄
  • EventTrigger原理浅谈

    那么我们打开referencesource,搜索一下Triggers,发现居然有4种!!

    黄腾霄
  • 2020-1-8-如何正确的在tooltip中实现绑定

    小伙伴们肯定都很熟悉xaml的binding,但是对于tooltip或者popup这些跨窗口的binding总是容易遇到这样,或者那样的问题。这里就给大家提供下...

    黄腾霄
  • 微信XML消息model定义之微信公众平台(一)

    lpe234
  • 再谈包访问权限 子类为何不能使用父类protected方法

    权限的含义应该理解为控制范围,要把它理解成一个限制范围的空间,更为准确的说叫做可见范围

    noteless
  • Spring Boot中读取配置属性的几种方式

      本文介绍Spring Boot中读取配置属性的几种方式,项目示例中用到的application.yml和application.properties定义如下...

    happyJared
  • Android-Retrofit简介

    上一篇文章讲了RxJava,这一篇当然就该讲Retrofit了,参考资料: https://blog.csdn.net/gumufuyun/article/d...

    android_薛之涛
  • 使用Java类加载SpringBoot、SpringCloud配置文件

    这种方式呢,是同过层层嵌套的方式一层一层的按照配置文件属性的方式来进行注入的。大家只要把这个类跟上方提供的配置文件进行对比就会明白它的方式了。(注意,下方的所有...

    Java学习录
  • RxAndroid完全教程

    不知现在的编辑,能否好用一些呢?希望大家有什么意见,在公众号直接回复即可,想了解哪些知识点,也可以直接留言了。 炎炎夏日,清凉一夏 这章节主要介绍下Rx系列的经...

    用户1263308
  • Swagger笔记(二)springboot集成和ApiModel使用不当的一个小问题

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

    yingzi_code

扫码关注云+社区

领取腾讯云代金券