如何在自定义异常构造函数参数中使用多个错误特定参数?

How to use multiple error specific parameter in custom Exception constructor parameters?

我正在构建一个类似这样的自定义异常。

public class ValidationException extends RuntimeException {

    public validationException(String errorId, String errorMsg) {
        super(errorId, errorMsg);
    }
}

这当然会引发错误,因为 RuntimeException 没有任何此类构造函数来处理此问题。

我还想通过

在我的 GlobalExceptionalHandler 中获取 errorId 和 errorMsg

ex.getMessage();

但我想要函数分别获取 errorId 和 errorMessage。如何实现?

您想将 errorIderrorMsg 作为 ValidationException class 的字段,就像您对普通 class.

所做的一样
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();
    }