spring全局异常处理怎么获取错误码
时间: 2024-05-16 19:15:14 浏览: 82
在Spring全局异常处理中,可以通过自定义异常类来设置错误码,并在异常处理方法中获取错误码。例如:
首先,定义一个自定义异常类,例如:
```java
public class MyException extends RuntimeException {
private String errorCode;
public MyException(String errorCode, String message) {
super(message);
this.errorCode = errorCode;
}
public String getErrorCode() {
return errorCode;
}
}
```
在该自定义异常类中,我们定义了一个errorCode属性,用来表示错误码。
然后,在全局异常处理方法中,可以通过捕获该自定义异常类来获取错误码,例如:
```java
@ControllerAdvice
public class GlobalExceptionHandler {
@ExceptionHandler(MyException.class)
@ResponseBody
public ResponseEntity<ErrorResponse> handleMyException(MyException ex) {
ErrorResponse errorResponse = new ErrorResponse();
errorResponse.setErrorCode(ex.getErrorCode());
errorResponse.setMessage(ex.getMessage());
return new ResponseEntity<>(errorResponse, HttpStatus.INTERNAL_SERVER_ERROR);
}
}
```
在该方法中,我们捕获了自定义异常类MyException,并从该异常对象中获取错误码,然后将错误码设置到ErrorResponse对象中,最后将ErrorResponse对象返回给客户端。
这样,在处理MyException异常时,就可以返回包含错误码的ErrorResponse对象了。
阅读全文