SpringBoot 全局异常处理
时间: 2023-11-19 09:47:01 浏览: 105
SpringBoot 提供了全局异常处理机制,可以统一处理系统中出现的异常。在 SpringBoot 中,通过 @ControllerAdvice 注解实现全局异常处理。
1. 创建一个异常类
```java
public class CustomException extends RuntimeException {
private String message;
public CustomException(String message) {
this.message = message;
}
public String getMessage() {
return message;
}
}
```
2. 创建一个异常处理类
```java
@ControllerAdvice
public class GlobalExceptionHandler {
@ExceptionHandler(CustomException.class)
@ResponseBody
public ResponseEntity<String> handleCustomException(CustomException e) {
return new ResponseEntity<>(e.getMessage(), HttpStatus.INTERNAL_SERVER_ERROR);
}
@ExceptionHandler(Exception.class)
@ResponseBody
public ResponseEntity<String> handleException(Exception e) {
return new ResponseEntity<>(e.getMessage(), HttpStatus.INTERNAL_SERVER_ERROR);
}
}
```
3. 抛出异常并测试
```java
@GetMapping("/test")
public void test() {
throw new CustomException("自定义异常");
}
```
在上面的代码中,我们创建了一个 CustomException 异常,并在控制器中抛出。当抛出 CustomException 异常时,控制器会调用 handleCustomException 方法进行处理。如果抛出的是其他异常,控制器会调用 handleException 方法进行处理。
通过以上步骤,我们就实现了 SpringBoot 中的全局异常处理。
阅读全文