我在项目中使用私有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类方法。

最佳答案

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

但是,您将无法获得任何进一步的信息,因为该异常将立即抛出。

您可以尝试反编译代码(如果许可允许的话),然后逐步使用调试器。

10-04 13:12