dubbo(四)异常处理

  • 2025-08-20 01:48:41

dubbo的异常处理网上描述的文章很多,复制黏贴也不在少数.在这里记录下自己的一些体会.

还是带着问题(目录)来写吧.

1.dubbo官方推荐的异常处理方式是什么?

2.dubbo处理异常的逻辑是什么样的?为什么要这样处理?

3.抛出自定义异常有哪些方式?

4.在dubbo:provider中设置filter="-exception", 去掉异常的filter会怎么样?

5.最终采用的异常处理方案

1.dubbo官方推荐的异常处理方式是什么?

在dubbo官方文档的服务化最佳实践中,推荐的处理方式如下:

2.dubbo处理异常的逻辑是什么样的?为什么要这样处理?

dubbo的异常处理类是com.alibaba.dubbo.rpc.filter.ExceptionFilter 类,源码这里就不贴了.归纳下对异常的处理分为下面几类:

1)如果provider实现了GenericService接口,直接抛出

2)如果是checked异常,直接抛出

3)在方法签名上有声明,直接抛出

4)异常类和接口类在同一jar包里,直接抛出

5)是JDK自带的异常,直接抛出

6)是Dubbo本身的异常,直接抛出

7)否则,包装成RuntimeException抛给客户端

网上有些文章对7)的处理有疑问,不理解原因,其实就是为了防止客户端反序列化失败.前面几种情况都能保证反序列化正常.

3.抛出自定义异常有哪些方式?

抛出自定义异常其实就是使用上面2中的逻辑.所以相

友情链接
Copyright © 2022 中国世界杯_多哈世界杯 - dianxinto.com All Rights Reserved.