springboot项目抛出异常
时间: 2024-01-17 12:19:04 浏览: 174
在Spring Boot项目中,当抛出异常时,可以通过以下方式进行处理:
1. 使用@ControllerAdvice注解和@ExceptionHandler注解来处理全局异常。在一个类上使用@ControllerAdvice注解,然后在该类中定义一个或多个带有@ExceptionHandler注解的方法来处理异常。例如:
```java
@ControllerAdvice
public class GlobalExceptionHandler {
@ExceptionHandler(Exception.class)
public ResponseEntity<String> handleException(Exception e) {
// 处理异常的逻辑
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body("Internal Server Error");
}
}
```
2. 使用@RestControllerAdvice注解和@ExceptionHandler注解来处理全局异常,并返回JSON格式的错误信息。与@ControllerAdvice类似,只是使用@RestControllerAdvice注解来返回JSON格式的错误信息。例如:
```java
@RestControllerAdvice
public class GlobalExceptionHandler {
@ExceptionHandler(Exception.class)
public ResponseEntity<Map<String, Object>> handleException(Exception e) {
// 处理异常的逻辑
Map<String, Object> errorResponse = new HashMap<>();
errorResponse.put("status", HttpStatus.INTERNAL_SERVER_ERROR.value());
errorResponse.put("message", "Internal Server Error");
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(errorResponse);
}
}
```
3. 使用自定义的异常处理类来处理特定的异常。可以创建一个继承自RuntimeException的自定义异常类,并在该类中定义异常处理逻辑。例如:
```java
public class CustomException extends RuntimeException {
public CustomException(String message) {
super(message);
}
// 其他自定义异常处理逻辑
}
```
然后,在代码中抛出该自定义异常:
```java
throw new CustomException("Custom Exception");
```
阅读全文