如何覆盖 JAVA 中的异常 class 方法

How to Override a Exception class methods in JAVA

我在我的项目中使用私有 JAVA 库。在库 API 中,开发人员编写了一个自定义异常 class "ClassException",如果出现任何异常,他们将抛出此 class 异常对象。从某种角度来看,在我的项目中使用这个库时,我无法弄清楚异常是在哪里引发的。我在控制台上看到的是 ClassException raised inside a java class Demo 的私人图书馆。

我没有库的源代码可以按我的意愿更改。我只能看到 .class 文件。

类异常:

    public class ClassException extends Exception {

    private static final long serialVersionUID = 1L;
    private ClassErrorStatus mErrorCode;

    public ClassException(ClassErrorStatus pErrorCode) {

    }

    public ClassException(String pMessage, ClassErrorStatus pErrorCode) {

    }

    public ClassException(Throwable pCause, ClassErrorStatus pErrorCode) {

    }

    public ClassException(String pMessage, Throwable pCause, ClassErrorStatus pErrorCode) {

    }

    public ClassErrorStatus getErrorStatus() {

    }
}

我如何重写此 class 方法,以便在任何地方抛出 ClassException 时它应该调用我的自定义 class 异常方法。反正有这样做吗?

喜欢throw new ClassException()应该调用我自己的异常class方法。

试试这个

  1. 自己写ClassException.java
  2. 编译生成 ClassException.class 文件
  3. 与原始 ClassException.class 文件交换

您可以使用与库相同的包创建一个 ClassException,并将其放在类路径之前(例如,以 _ 开头的 jar)。

但是,您将不会获得任何进一步的信息,因为现在将抛出异常。

您可以尝试反编译代码(如果许可证允许)并使用调试器逐步进行。