springboot自定义异常类
时间: 2023-10-15 21:23:27 浏览: 119
在Spring Boot中,我们可以自定义异常类来处理应用程序中的异常情况。以下是一个简单的示例:
首先,定义一个自定义异常类,例如`CustomException`,继承自`RuntimeException`或其子类:
```java
public class CustomException extends RuntimeException {
private String errorCode;
public CustomException(String errorCode, String message) {
super(message);
this.errorCode = errorCode;
}
public String getErrorCode() {
return errorCode;
}
}
```
然后,在需要使用自定义异常的地方,可以通过抛出该异常来处理异常情况。例如,在一个Controller中:
```java
@RestController
public class MyController {
@GetMapping("/doSomething")
public void doSomething() {
// 某些条件下抛出自定义异常
if (someCondition) {
throw new CustomException("ERROR_CODE", "出错了");
}
// 其他业务逻辑
}
}
```
最后,我们可以定义一个全局异常处理器来捕获并处理自定义异常。创建一个`@ControllerAdvice`注解标记的类,例如`GlobalExceptionHandler`:
```java
@ControllerAdvice
public class GlobalExceptionHandler {
@ExceptionHandler(CustomException.class)
public ResponseEntity<ErrorResponse> handleCustomException(CustomException ex) {
ErrorResponse errorResponse = new ErrorResponse(ex.getErrorCode(), ex.getMessage());
return new ResponseEntity<>(errorResponse, HttpStatus.INTERNAL_SERVER_ERROR);
}
}
```
在上述代码中,`handleCustomException`方法用于处理`CustomException`异常,并返回一个自定义的错误响应对象`ErrorResponse`。
这样,当应用程序中抛出`CustomException`异常时,全局异常处理器会捕获该异常并返回相应的错误响应。
希望这个示例对你有帮助!
阅读全文