我正在使用一個名爲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