如何在JAVA中重写Exception类方法

时间:2017-11-10 06:34:41

标签: java exception-handling override

我在我的项目中使用私有JAVA库。在库API中,开发人员编写了一个自定义的Exception类" ClassException"如果有任何异常引发,则抛出此类异常对象。在某些观点上,我无法清楚地弄清楚在我的项目中使用此库时引发异常的位置。我只能在控制台上看到 私人图书馆的ClassException raised inside a java class Demo

我没有按照我的意愿改变图书馆的源代码。我只能看到.class文件。

ClassException:

    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() {

    }
}

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

throw new ClassException()一样应该调用我自己的Exception类方法。

2 个答案:

答案 0 :(得分:1)

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

但是,你不会得到任何进一步的信息,因为现在抛出异常会引发异常。

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

答案 1 :(得分:0)

试试这个

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