阅读量:0
在Spring Boot中,可以使用@ControllerAdvice
和@ExceptionHandler
注解来实现全局异常处理。
- 创建一个全局异常处理类,使用
@ControllerAdvice
注解标记。该类可以捕获所有Controller层抛出的异常。
@ControllerAdvice public class GlobalExceptionHandler { @ExceptionHandler(Exception.class) public ResponseEntity<String> handleException(Exception e) { // 处理异常逻辑 return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body("Internal Server Error"); } @ExceptionHandler(UserNotFoundException.class) public ResponseEntity<String> handleUserNotFoundException(UserNotFoundException e) { // 处理自定义异常逻辑 return ResponseEntity.status(HttpStatus.NOT_FOUND).body(e.getMessage()); } }
在异常处理方法上使用
@ExceptionHandler
注解来指定要处理的异常类型。在处理异常的方法中,可以根据不同的异常类型,进行不同的处理逻辑。
注意:需要添加对应的异常处理类的包扫描,可以使用@ComponentScan
注解或在@SpringBootApplication
注解上添加scanBasePackages
属性来扫描异常处理类所在的包。