前言
我们在开发应用系统时,不可避免的要使用到我们自己定义的异常,所以我们一般通常会用到自定义的业务异常类BusinessException,这个异常会继承extends RuntimeException,当发生业务限制的时候,会throw出来。
问题
在SpringMVC项目中,我们可以采用@ControllerAdvice注解,拦截我们的业务异常类,然后做一些处理。
网上有很多SpringMVC项目如何统一处理异常。老顾这里就不做介绍
但是现在项目都是微服务化的,在使用dubbo构建项目时,**会发现provider抛出自定义业务异常,在custom端并不能正确的捕获。**即便我们在provider和custom都有导入相同jar包下面的BusinessException异常,并且抛出这个异常。下面是出错情况
老顾采用dubbo版本为2.7.3版本,跟老版本有点区别,但区别不大
provicer生产者代码
其中的DataNotFoundException继承了BusinessException
DataNotFoundException 的编码以及错误信息:
PUBLIC_DATA_NOT_FOUND(1001,"数据没有找到")
<