Spring Boot 提供了一个全局异常处理机制,可以通过编写一个全局异常处理类来统一处理系统中出现的异常。
GlobalExceptionHandler
。@ControllerAdvice
public class GlobalExceptionHandler {
@ExceptionHandler(Exception.class)
public ResponseEntity<Object> handleException(Exception ex) {
// 处理异常
// 返回自定义的错误信息
return new ResponseEntity<>("发生了错误", HttpStatus.INTERNAL_SERVER_ERROR);
}
}
在 GlobalExceptionHandler
类上添加 @ControllerAdvice
注解,表示这是一个全局异常处理类。
在 GlobalExceptionHandler
类中编写一个异常处理方法,使用 @ExceptionHandler
注解来指定要处理的异常类型。在方法中处理异常,并返回一个自定义的错误信息。
可以根据具体需求,在异常处理方法中根据不同的异常类型进行不同的处理,例如返回不同的错误码、错误信息等。
当系统中出现异常时,Spring Boot 会自动调用 GlobalExceptionHandler
类中的异常处理方法,并返回自定义的错误信息。
注意:全局异常处理类需要被扫描到,可以将其放在主应用程序类的同级或子级包中。
这样,当系统中出现异常时,就会自动调用全局异常处理类中的异常处理方法,实现统一处理异常的逻辑。