背景:在微服务中,我们编写的接口假如报错了,直接返回给客户端是很不友好的,所以我们需要在微服务中写一个全局捕获异常给客户端一个友好的提示。
在springboot中怎么集成呢?下面直接上代码
@ControllerAdvice
@Slf4j
public class GlobalExceptionHandler{
@ExceptionHandler(RuntimeException.class)
@ResponseBody
public String exceptionHandler(Exception e) {
log.info("###全局捕获异常###,error:{}", e);
return "系统错误!";
}
}
注意:全局异常捕获类需要和被捕获类在同一包名下面
一般一个系统中都需要有一个业务类异常,业务类异常一般是继承运行时异常
全局异常里面:一般是先捕获业务类异常,在捕获运行时异常,最后捕获系统级异常(error)