Exception Handling in Spring Boot

统一异常处理

Unified exception handling of Controller in Spring Boot …

Spring Boot Exception Handling – Complete Tutorial

统一异常处理类

使用 Spring Boot 中的注解 @ControllerAdvice 和 @ExceptionHandler 即可

GlobalExceptionHandler.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// RestControllerAdvice 用于全局返回 json,如需返回 ModelAndView 请使用 ControllerAdvice
@RestControllerAdvice
public class GlobalExceptionHandler {

// 处理自定义异常
@ExceptionHandler(LoginException.class)
public ReturnVo loginExceptionHandler(HttpServletRequest request, LoginException e) {
e.printStackTrace();
return ReturnVo.error(CodeEnum.LOGIN_ERROR);
}

// 处理未知异常
@ExceptionHandler(Exception.class)
public ReturnVo unknownExceptionHandler(HttpServletRequest request, Exception e) {
e.printStackTrace();
return ReturnVo.error(CodeEnum.UNKNOWN_ERROR);
}
}

自定义异常

自定义异常 | 廖雪峰

LoginException.java
1
2
3
public class LoginException extends BaseException {

}