java全局异常捕捉处理
@RestControllerAdvice(annotations = RestController.class)
@Slf4j
public class GlobalExceptionHandler {
/**
* 全局异常捕捉处理
* @param ex
* @return
*/
@ExceptionHandler(value = Exception.class)
@ResponseBody
public DataResponse<Boolean> errorHandler(HttpServletRequest req, Exception ex) {
Map map = new HashMap();
map.put("code", 500);
map.put("ex",ex);
map.put("message", ex.getMessage());
map.put("url", req.getRequestURL());
log.error("发生异常:{}",JSON.toJSONString(map));
return DataResponse.builderFailed(ex.getMessage());
}
}
@RestControllerAdvice(annotations = RestController.class) @Slf4j public class GlobalExceptionInterceptor { /** * 捕获自定义异常,返回json信息 */ @ExceptionHandler({MamchargeException.class}) @ResponseBody public ResultVO errorHandle(MamchargeException e) throws Exception { return new ResultVO(null,e.getErrorCode(),e.getMsg()); } @ExceptionHandler({Exception.class}) @ResponseBody public ResultVO errorHandle(Exception e) throws Exception { log.error("系统出错:",e); return ResultVO.isFail(); } }
RestControllerAdvice 注解表示拦截那一层
ExceptionHandler 拦截什么异常类 后面的是自定义异常类

浙公网安备 33010602011771号