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 拦截什么异常类 后面的是自定义异常类


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM