随笔 全局异常处理spring @ExceptionHandler

为了避免每次都try..catry,采用全局异常处理

请求:

  @PostMapping("/login")
    public String login(String password,String username) throws Exception{
          int i=1/0;
        }

全局异常处理类:

@RestControllerAdvice
public class MyException {

    @ExceptionHandler(Exception.class)
    public void exception(Exception e) {
        // 获取request对象
        HttpServletRequest request = ((ServletRequestAttributes) (RequestContextHolder.currentRequestAttributes())).getRequest();
        System.out.println(("统一业务异常处理信息:{"+e.getMessage()+"}, URL : {"+ request.getRequestURL()+"}, METHOD : {"+ request.getMethod()+"}"));
    }
}

解释两个注解:@RestControllerAdvice和  @ExceptionHandler

@RestControllerAdvice:监控所有的@RequestMapping,捕获它们的异常。

@ExceptionHandler: 所有该情形下的(Exception.class)异常就会交由我们规定好的@ExceptionHandler这个注解标记的方法里处理。

猜你喜欢

转载自blog.csdn.net/qq_39404258/article/details/106383258
今日推荐