我有一個靜態的初始化塊,並從中拋出一個ExceptionInInitializerError
異常。
有什麼辦法可以通過這個異常,並從這個類訪問其他字段和方法? 謝謝。通過ExceptionInInitializerError傳遞
-1
A
回答
0
通過調用來啓動包含靜態塊的類到try塊中並捕獲ExceptionInInitializerError
。像下面這樣:
try{
ClassWithStaticBlock cb = new ClassWithStaticBlock();
}
catch(ExceptionInInitializerError ex){
}
+0
一個不會捕獲ExceptionInInitializerError。 – Natix 2014-04-23 14:36:42
2
ExceptionInInitializerError背後的主要原因是,當JVM遇到無法處理的意外情況時,JVM將拋出上述錯誤。 ExceptionInInitializerError
可以被捕獲,雖然你不應該捕獲Error,但它實際上不可能從它中恢復,因爲發生異常的類不可用於進一步的使用(例如實例化類),產生一個NoClassDefFoundError.
您可以參考到JLS - Detailed Initialization Procedure。
相關問題
- 1. 通過傳遞J_security_check
- 2. 通過POST傳遞「&」
- 3. 通過傳遞IDXGIAdapter
- 4. 通過值傳遞
- 5. 通過引用傳遞與值傳遞
- 6. Java是通過值傳遞還是通過引用傳遞?
- 7. 通過值比傳遞通過更快
- 8. 通過url傳遞值
- 9. 通過引用傳遞C++
- 10. 通過url傳遞參數
- 11. 傳遞值通過AdditionalMetadata
- 12. 通過UICollectionView傳遞數據
- 13. 通過ICommand傳遞參數
- 14. 通過頁面傳遞值
- 15. Ajax通過ie7傳遞cookie
- 16. 通過CommandParameter傳遞數據
- 17. C++通過引用傳遞?
- 18. 通過COM interop傳遞IntPtr
- 19. cpp通過引用傳遞
- 20. 通過ViewControllers傳遞整數
- 21. Cocos2D:通過CCCallFuncND傳遞CGPoint
- 22. 通過Lisp傳遞函數
- 23. 傳遞數據通過POST
- 24. 通過RestSharp傳遞json urlencode
- 25. 通過dataTransfer傳遞對象
- 26. 傳遞數組通過AJAX
- 27. 通過代理傳遞imageview
- 28. PHP通過引用傳遞?
- 29. 通過AjaxPro傳遞變量
- 30. Java通過引用傳遞
什麼是錯在該塊? – NINCOMPOOP 2013-04-29 07:04:48
我知道什麼是錯的,可以錯的,但我只想知道是否有一種方法(希望不是)從這個錯誤中恢復。 – Roxana 2013-04-29 07:12:31