@ControllerAdvice
@Slf4j
public class GlobalExceptionHandler {
@ExceptionHandler(value = Exception.class)
@ResponseBody
public RestResponse<Nullable> exceptionGet(HttpServletRequest req,
HttpServletResponse response , Exception e) {
if (e instanceof BusinessException) {
BusinessException be = (BusinessException) e;
if(CommonErrorCode.CUSTOM.equals(be.getErrorCode())){
return new RestResponse<Nullable>(be.getErrorCode().getCode(),
be.getMessage());
}else{
return new RestResponse<Nullable>(be.getErrorCode().getCode(),
be.getErrorCode().getDesc());
}
}else if(e instanceof NoHandlerFoundException){
return new RestResponse<Nullable>(404, "找不到资源");
}else if(e instanceof HttpRequestMethodNotSupportedException){
return new RestResponse<Nullable>(405, "method 方法不支持");
}else if(e instanceof HttpMediaTypeNotSupportedException){
return new RestResponse<Nullable>(415, "不支持媒体类型");
}
log.error("【系统异常】" + e.getMessage());
return new RestResponse<Nullable>(CommonErrorCode.UNKOWN.getCode(),
CommonErrorCode.UNKOWN.getDesc());
}
}
SpringMVC全局异常捕获类
最新推荐文章于 2024-03-10 01:00:00 发布