我正在构建类似这样的自定义异常。
public class ValidationException extends RuntimeException {
public validationException(String errorId, String errorMsg) {
super(errorId, errorMsg);
}
}
这当然会引发错误,因为 RuntimeException 没有任何此类构造函数来处理此问题。
我还想通过
在我的 GlobalExceptionalHandler 中获取errorId和errorMsg。ex.getMessage();
但是我希望函数分别获取errorId和errorMessage。如何实现?
答案 0 :(得分:0)
您希望将errorId
和errorMsg
用作ValidationException类的字段,就像处理普通的类一样。
public class ValidationException extends RuntimeException {
private String errorId;
private String errorMsg;
public validationException(String errorId, String errorMsg) {
this.errorId = errorId;
this.errorMsg = errorMsg;
}
public String getErrorId() {
return this.errorId;
}
public String getErrorMsg() {
return this.errorMsg;
}
}
并在您的GlobalExceptionHandler中:
@ExceptionHandler(ValidationException.class)
public ResponseEntity<SomeObject> handleValidationException(ValidationException ex) {
// here you can do whatever you like
ex.getErrorId();
ex.getErrorMsg();
}