Java 不打印堆栈跟踪的自定义运行时异常

Java 不打印堆栈跟踪的自定义运行时异常,java,exception,stack-trace,Java,Exception,Stack Trace,很抱歉这个基本的问题,但是我被这个问题困住了,我找不到解决办法 我有一个核心Java应用程序(Java版本是1.6)。在我的应用程序中,我正在调用jar中的一个方法,该方法将引发一个自定义运行时异常 我没有捕捉到这个异常,但是JVM仍然没有打印堆栈跟踪 当抛出运行时异常且未捕获时,JVM默认情况下是否不会打印堆栈跟踪? 还是我遗漏了一些我可以检查的东西 提前谢谢 -Sandeep好的,JRE应该打印一个未捕获异常的堆栈跟踪。但你可以自己做: try { someObject.someMeth

很抱歉这个基本的问题,但是我被这个问题困住了,我找不到解决办法

我有一个核心Java应用程序(Java版本是1.6)。在我的应用程序中,我正在调用jar中的一个方法,该方法将引发一个自定义运行时异常

我没有捕捉到这个异常,但是JVM仍然没有打印堆栈跟踪

当抛出运行时异常且未捕获时,JVM默认情况下是否不会打印堆栈跟踪? 还是我遗漏了一些我可以检查的东西

提前谢谢


-Sandeep

好的,JRE应该打印一个未捕获异常的堆栈跟踪。但你可以自己做:

try {
  someObject.someMethod();
} catch (Throwable t) {
  t.printStackTrace();
  throw t;
}

检查jar中的方法。如果jar中没有源代码,您可以使用java反编译器。我可以访问jar的代码,甚至它也不会捕获任何异常。只有在满足某些条件时才会引发运行时异常。请向我们展示代码。可以将异常子类化(字符串消息,…,布尔writableStackTrace),即堆栈跟踪是否应可写。我刚刚检查:捕获和调用printStackTrace不起作用,getStackTrace不会给您任何东西。-如果您有代码,您可以看到自定义异常是如何定义的,我的假设是否正确<代码>类自定义扩展异常{public Custom(String msg){super(msg,null,false,**false**);}--最后一个false是一个。您的意思是将writableStackTrace设置为false,就像在问题的注释中一样?在这种情况下,这是真的。