由于某些原因,Eclipse for Java停止显示异常的堆栈跟踪,Eclipse在调试时也不会停止异常。我安装(而不是升级)了最新的Eclipse 2023-03(4.27.0),并引用了工作区和项目,希望能解决这个问题,但Eclipse仍然很高兴地超越了异常。
我为Throwable设置了一个断点(caught和uncaught),还设置了debug选项,以便在未捕获的异常时挂起执行。无论如何,异常是用我的catch语句捕获的,而不会挂起执行,printStackTrace命令没有做任何我可以看到的事情。没有到控制台的输出。showMessageDialog语句可以工作,并在初始化期间显示我的失败消息。
如果我注解掉try/catch,使得异常未被捕获,那么程序似乎立即终止,没有来自我或系统的任何消息。
对这里发生的事情有什么想法吗?
下面是我的tray/catch,异常在initializeEX()语句中的某个地方:
try {
initializeEX(); // the error is somewhere in here...
} catch(Exception e) {
e.printStackTrace();
msg = "Failure during console initialization.";
JOptionPane.showMessageDialog(frame, msg, "Cannot load AssetAllocation", JOptionPane.ERROR_MESSAGE);
}
感谢任何输入。
1条答案
按热度按时间zwghvu4y1#
由于您设法在对话框中获得了异常描述,因此您也可以在那里获得隐藏跟踪。
创建一个
ByteArrayOutputStream
,然后创建一个PrintWriter
。然后将其转化为printException()
方法。至于为什么stask跟踪没有按原样打印,我假设标准错误流在执行过程中发生了变化(
System.setError(someStream)
)。