springboot异常统一处理,给出对应的代码
时间: 2023-07-20 20:29:37 浏览: 87
好的,以下是一个简单的 Spring Boot 异常统一处理的代码示例:
```java
@ControllerAdvice
public class GlobalExceptionHandler {
@ExceptionHandler(Exception.class)
public ResponseEntity<ErrorResponse> handleException(Exception ex) {
ErrorResponse errorResponse = new ErrorResponse(HttpStatus.INTERNAL_SERVER_ERROR.value(), ex.getMessage());
return new ResponseEntity<>(errorResponse, HttpStatus.INTERNAL_SERVER_ERROR);
}
@ExceptionHandler(NotFoundException.class)
public ResponseEntity<ErrorResponse> handleNotFoundException(NotFoundException ex) {
ErrorResponse errorResponse = new ErrorResponse(HttpStatus.NOT_FOUND.value(), ex.getMessage());
return new ResponseEntity<>(errorResponse, HttpStatus.NOT_FOUND);
}
// 其他自定义异常处理方法
}
```
上面的代码中,我们使用了 `@ControllerAdvice` 注解来定义一个异常处理类 `GlobalExceptionHandler`。其中,我们定义了多个异常处理方法,每个方法对应一个特定类型的异常。在方法中,我们可以自由地处理异常并返回一个自定义的错误响应对象 `ErrorResponse`。
需要注意的是,`ErrorResponse` 类需要自己定义,通常包含有错误码和错误消息等信息。另外,异常处理方法的返回类型为 `ResponseEntity<ErrorResponse>`,这样可以返回一个自定义的错误响应对象,并且可以指定 HTTP 响应状态码。
阅读全文