spring boot 搭建 全局异常捕获
时间: 2023-09-03 19:04:08 浏览: 125
springboot全局异常捕获
Spring Boot提供了全局异常处理机制,可以通过以下几个步骤搭建全局异常捕获。
1. 创建一个全局异常处理类,使用@ControllerAdvice注解标记该类为全局异常处理类,并使用@ExceptionHandler注解定义要捕获的异常类型。
2. 在全局异常处理类中编写异常处理方法,通过@ExceptionHandler注解标注,指定要捕获的异常类型。在方法中可以定义异常处理的逻辑,比如返回自定义的错误信息、记录日志等。
3. 如果要返回自定义的错误信息,可以创建一个自定义的返回结果类,用于封装错误信息。在异常处理方法中将错误信息封装到自定义的返回结果类中,并将其返回给前端。
4. 使用@ControllerAdvice注解标记的全局异常处理类,会自动将其注册为bean,并作为全局异常处理器生效。
下面是一个简单的示例代码:
```java
@ControllerAdvice
public class GlobalExceptionHandler {
@ExceptionHandler(Exception.class)
public ResponseEntity<ErrorResponse> handleException(Exception ex) {
ErrorResponse error = new ErrorResponse();
error.setMessage("系统内部错误");
error.setStatus(HttpStatus.INTERNAL_SERVER_ERROR.value());
return new ResponseEntity<>(error, HttpStatus.INTERNAL_SERVER_ERROR);
}
}
public class ErrorResponse {
private String message;
private int status;
// 省略getter和setter方法
}
```
在上述示例中,我们通过@ControllerAdvice注解标记了一个全局异常处理类GlobalExceptionHandler,并通过@ExceptionHandler注解定义了handleException方法,用于捕获Exception类型的异常。在方法中,我们创建了一个ErrorResponse对象,并将错误信息封装到该对象中返回给前端。
阅读全文