如何在一個地方獲取java應用程序中的所有異常(有幾個類和包)? 示例:創建一個類可以得到其他應用程序類獲取Java應用程序中的所有異常
回答
在主類中的所有異常,你可能有這樣的事情:
try { } catch (Exception ex) { }
在你的其他類,你應該拋例外,像:
public void example() throws Exception { }
如果你把其他類異常,就可以對付他們只是在主類。
你是否理解了這個問題?用戶986566想要什麼? – 2012-01-09 06:55:13
我想user986566只想在一個類中處理所有的應用程序異常。 – 2012-01-09 06:58:24
及其子類是Throwable的一種形式,表示合理應用程序可能想要捕獲的條件。
如果你所有的方法都拋出主調用方法的異常,那麼你可以捕獲所有異常。
異常類的層次結構從Throwable類開始,它是整個異常類族的基類,在java.lang package
中聲明爲java.lang.Throwable
。
你爲什麼不只是有一類ExceptionHandler
有2個功能
void handleException(Exception e);
void handleThrowable(Throwable t);
,並在每個try{}catch(Exception e){}
只需使用ExceptionHandler.handleException(e);
要找出異常被拋出什麼,用instanceof
例如。
if(e instanceof NullPointerException)
{
//whatver
}
至於其他已經指出的,一種選擇是把你的主要方法在try-catch
塊
public static void main(String[] args){
try{
//regular main code
} catch (Throwable e){
//do exception handling
}
}
另一種可能性是設置默認的UncaughtExceptionHandler上Thread
()你使用的是帶有Thread#setDefaultUncaughtExceptionHandler
方法。
注意,這兩個解決方案,只允許你「處理在一個地方的所有異常」,如果他們沒有得到其他地方在您的應用程序捕獲
您可以使用:
嘗試{
// block of code ...
}趕上(例外五){
// Do something with e
}
- 1. 如何捕獲wxPython應用程序中的所有異常?
- 2. 捕獲Rails 3應用程序中的所有異常
- 3. 如何在iPhone應用程序中捕獲所有異常
- 4. ACRA如何捕獲應用程序的所有異常?
- 5. NullPointerException異常在Java應用程序中
- 6. 如何捕獲所有異常/崩潰在.NET應用程序
- 7. 獲取IMethod捕獲的所有異常
- 8. 使用log4net記錄.NET應用程序中的所有異常
- 9. 在Eclipse/Java應用程序中被捕獲的異常通知
- 10. Java Swing應用程序的異常?
- 11. 記錄pyqt4應用程序中的所有異常
- 12. android-獲取應用程序安裝在設備中的異常
- 13. 獲取早期在應用程序c#中拋出的異常?
- 14. Java程序中的異常
- 15. 在.net應用程序中使用Interop時獲取COM異常
- 16. 如何在java fx應用程序中捕獲任務異常?
- 17. 如何捕獲Android應用程序中的所有React Native異常?
- 18. Java Swing應用程序JList null異常
- 19. Java應用程序層不捕獲SQL存儲過程異常
- 20. 如何從JAVA應用程序獲取所有DNS條目?
- 21. 獲取所有字段值java程序
- 22. 在android應用程序中獲取致命異常
- 23. 在應用程序中獲取null異常
- 24. 從異常中獲取有問題的DLL的應用程序路徑
- 25. 使用requestbuilder從GWT應用程序中獲取csv文件 - 獲取異常:java.lang.UnsatisfiedLinkError:
- 26. 用Java獲取目錄中的所有文件的程序
- 27. 我所有的Java應用程序現在拋出一個java.awt.HeadlessException異常
- 28. 獲取所有進程及其相應的應用程序域
- 29. 在java程序中沒有捕獲到的異常
- 30. 如何在Java Servlet Web應用程序中捕獲未捕獲的異常
沒有得到你。你想通過classpath掃描什麼是可用的異常? – 2012-01-09 06:48:32
請提供更多詳情。你想捕獲所有異常還是隻看看有哪些異常類可用(只有你的包或包含java庫)?你在談論運行時和/或檢查異常。 – AxelTheGerman 2012-01-09 06:53:29
異常並不是唯一引發的事情。你可以拋出錯誤甚至Throwable或子類(這既不是錯誤也不是例外) – 2012-01-09 08:06:53