springboot3 统一异常处理
时间: 2024-09-26 21:00:30 浏览: 31
SpringBoot 2 统一异常处理过程解析
Spring Boot 3 的统一异常处理主要是通过全局异常处理器 (Global Exception Handler) 来实现的。你可以自定义一个 `@ControllerAdvice` 或者 `@ExceptionHandler` 注解的方法,来捕获并处理应用程序中所有类型的异常。这通常包含以下几个步骤:
1. **创建全局异常处理器**:
```java
@ControllerAdvice
public class GlobalExceptionHandler {
@ExceptionHandler(value = {Exception.class})
public ResponseEntity<ErrorResponse> handleAllExceptions(Exception ex) {
ErrorResponse errorResponse = new ErrorResponse("错误信息", ex.getMessage());
return new ResponseEntity<>(errorResponse, HttpStatus.INTERNAL_SERVER_ERROR);
}
// 可能还有其他特定异常的处理方法,如 @ExceptionHandler(MyCustomException.class)
}
```
2. **定义通用的错误响应实体**:
```java
public class ErrorResponse {
private String message;
private int code;
// 构造函数、getter 和 setter 方法...
}
```
3. **设置全局HTTP状态码**:
默认情况下,当发生未处理的异常时,会返回 `500 Internal Server Error`。你可以根据需要调整。
4. **覆盖默认的异常映射**:
如果想要更细粒度地控制哪些异常应该返回什么样的响应,可以在配置文件 `application.properties` 或 `application.yml` 中设置。
通过这种方式,你可以简化异常处理逻辑,并提供一致的用户体验。
阅读全文