描述:采用springCloud搭建了两个服务,分别是服务A,服务B,现在是服务A调用服务B。
需求:客户端调用服务A时,当服务B异常时,希望异常信息能够返回给客户端
问题:当服务B 出现了业务异常时,抛出异常,这个义务异常是自己定义的异常,而此时服务A却不能捕获到服务B抛出的异常信息,而直接swagger直接调用服务B时,自定义异常是可以抛出的。。求大神指教。。。。。???
服务B自定义了异常,采用@ControllerAdvice注解的类中对异常继续处理,抛出异常信息,服务A中添加了类实现ErrorDecoder接口,并对异常进行处理,代码如下:
@Override
public Exception decode(String methodKey, Response response) {
//todo
}
}
出现的问题是Response对象为null的,没有捕捉到异常信息,导致客户端不知道异常信息。。。。