如何在一個地方獲取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. 如何在iPhone應用程序中捕獲所有異常
- 3. 如何捕獲所有異常/崩潰在.NET應用程序
- 4. 使用log4net記錄.NET應用程序中的所有異常
- 5. 在Eclipse/Java應用程序中被捕獲的異常通知
- 6. Java Swing應用程序的異常?
- 7. 跟蹤程序中的所有異常
- 8. 記錄pyqt4應用程序中的所有異常
- 9. 獲取早期在應用程序c#中拋出的異常?
- 10. Java程序中的異常
- 11. 在.net應用程序中使用Interop時獲取COM異常
- 12. 如何在java fx應用程序中捕獲任務異常?
- 13. 捕獲生產環境中的所有應用程序異常和PHP錯誤
- 14. Java Swing應用程序JList null異常
- 15. 如何從JAVA應用程序獲取所有DNS條目?
- 16. 獲取所有字段值java程序
- 17. 在android應用程序中獲取致命異常
- 18. 從異常中獲取有問題的DLL的應用程序路徑
- 19. 用Java獲取目錄中的所有文件的程序
- 20. 未處理的異常停止winform應用程序中的所有線程?
- 21. Java Geoip2:獲取「java.lang.reflect.InvocationTargetException」異常
- 22. 未捕獲的異常:沒有應用程序實例(黑莓)
- 23. GWT RPC應用程序中的異常
- 24. RCP應用程序中的ImageDescriptor異常
- 25. Jsoup獲取Android應用程序中的所有html數據,但不是Java控制檯應用程序
- 26. 獲取報警應用程序中保存的所有報警
- 27. 獲取註冊表中所有應用程序的路徑
- 28. 如何獲取App Drawer中的所有應用程序?
- 29. iOS:獲取包中的所有類或加載應用程序
- 30. 獲取Django應用程序中的所有表名
沒有得到你。你想通過classpath掃描什麼是可用的異常? – 2012-01-09 06:48:32
請提供更多詳情。你想捕獲所有異常還是隻看看有哪些異常類可用(只有你的包或包含java庫)?你在談論運行時和/或檢查異常。 – AxelTheGerman 2012-01-09 06:53:29
異常並不是唯一引發的事情。你可以拋出錯誤甚至Throwable或子類(這既不是錯誤也不是例外) – 2012-01-09 08:06:53