我正在使用一个名为MyExceptionHandler
的类来实现Thread.UncaughtExceptionHandler
来处理我的项目中的正常异常。如何捕捉事件调度线程(EDT)异常?
据我所知这个类不能赶上EDT例外,所以我试图用这个在main()
方法来处理EDT例外:
public static void main(final String[] args) {
Thread.setDefaultUncaughtExceptionHandler(new MyExceptionHandler()); // Handle normal exceptions
System.setProperty("sun.awt.exception.handler",MyExceptionHandler.class.getName()); // Handle EDT exceptions
SwingUtilities.invokeLater(new Runnable() { // Execute some code in the EDT.
public void run() {
JFrame myFrame = new JFrame();
myFrame.setVisible(true);
}
});
}
但是直到如今它不工作。例如在初始化一个JFrame我从一个包文件中像这样的构造加载其标签:
setTitle(bundle.getString("MyJFrame.title"));
我删除从包文件的密钥MyJFrame.title
测试异常处理程序,但它没有工作!例外通常是打印在日志中。
我在这里做错了什么?
可能重复的[如何捕捉Java中的AWT线程异常?](http://stackoverflow.com/questions/95767/how-can-i-catch-awt-thread-exceptions- in-java) – Suma 2015-01-09 10:15:25