java - Eclipse/Java : uncaught exceptions on the EDT suspend execution in EventDispatchThread. 运行()

标签 java eclipse debugging swing event-dispatch-thread

这是我在使用 Eclipse 进行调试时遇到的一个小烦恼。选中“未捕获的异常时暂停执行”后,调试器通常会在引发异常的位置暂停线程。然而,事件调度线程上的异常会导致它在 EventDispatchThread.run() 的最后一行暂停。在我恢复线程以允许堆栈跟踪打印到控制台之前,没有关于异常是什么或导致异常的原因的有用信息。

在Eclipse中调试以下代码进行演示:

public class SuspendOnUncaughtTest {
    public static void main(String[] args) {
        javax.swing.SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                ((Object) null).toString();
            }
        });
    }
}

这是抛出异常后的样子:

Suspended at EventDispatchThread.run() 编辑 10/21/2011: 我想 Eclipse 或 Java 调试器没有发生任何奇怪的事情,只是在 EventDispatchThread.pumpOneEventForFilters(int) 中捕获并重新抛出异常。我想没有办法告诉 Eclipse“暂停执行将要捕获并可能重新抛出的异常”。太糟糕了。

最佳答案

在 NeteBeans 中看到类似的结果,但是 Thread.setDefaultUncaughtExceptionHandler()在这种情况下可能有用。有一个例子here .

关于java - Eclipse/Java : uncaught exceptions on the EDT suspend execution in EventDispatchThread. 运行(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7825376/

相关文章:

java - 当我使用完 SVNKit 的工作副本后,如何删除它?

java - spring initBinder 和 webbindinginitializer 示例

java - 在eclipse中,如何在大纲 View 中显示继承的成员?

java - Eclipse 运行配置机器名称

Python 错误 : builtin function or method object has no attribute 'StringIO'

C++ 参数的值在 std::vector 中的堆栈帧之间发生变化

java - 将姓氏分配给现金存款列表

java - 如何从包含数组列表的函数中提取多个字符串值

android - 使用新 keystore 生成 MD5 指纹时出现问题

javascript - 如何查看 Handlebars 模板中的所有可用变量