【发布时间】:2015-12-26 15:02:35
【问题描述】:
对于这个非常基本的问题,我很抱歉,但我被这个问题困住了,我无法找到解决方案。
我有一个核心 Java 应用程序(Java 版本是 1.6)。从我的应用程序中,我正在调用 jar 中的一个方法,该方法引发了一个自定义运行时异常。
我没有捕捉到这个异常,但 JVM 仍然没有打印堆栈跟踪。
当抛出运行时异常但未被捕获时,JVM 默认不会打印堆栈跟踪吗? 还是我遗漏了一些我可以检查的东西?
提前致谢。
-桑迪普
【问题讨论】:
-
检查jar里面的方法。如果 jar 中没有源代码,可以使用 java 反编译器。
-
我可以访问jar的代码,甚至它没有捕获任何异常。只有在满足特定条件时才抛出运行时异常。
-
请出示代码。
-
可以继承 Exception(String message,..., boolean writableStackTrace),即堆栈跟踪是否应该是可写的。
-
我刚刚检查过:捕获和调用 printStackTrace 不起作用,而 getStackTrace 什么也没给你。 - 如果你有代码,你可以看到自定义异常是如何定义的,我的假设是否正确。
class Custom extends Exception { public Custom( String msg ){ super( msg, null, false, **false** ); } }-- 最后一个false就是那个。
标签: java exception stack-trace