在Java中,異常定義了程序運行中可能遇到的輕微錯誤或異常情況。當發(fā)生異常時,程序員可以通過自己編寫有針對性的代碼來對它進行處理,以讓程序繼續(xù)運行下去。為了讓寫出來的代碼比較強壯(robust),java語言要求除Error和RuntimeException之外的所有Exception都能夠得到處理。
Java對異常(Exception)的處理方法分為兩類,一類將異常的處理遞交給當前方法的調(diào)用者去處理,稱為throws a Exception,另一類則在方法中使用try/catch/finally語句自己處理異常。
1.Java 語言采用了C++風(fēng)格的異常處理。
當程序中出錯時,發(fā)生錯誤的那個方法中產(chǎn)生的異常沒有相應(yīng)的try/catch 段來處理時,它就會被擲給(throw)產(chǎn)生該異常的方法,如果該方法也未能處理它,異常就會被擲給該方法的調(diào)用者。這個過程一直進行, 直到異常被處理為止。當返回到main()方法時異常還未被處理,或者main()方法中也未對它進行處理,則該異常就會讓程序異常終止。
2.使用try/catch/finally段來處理exception
1. 將可能會產(chǎn)生異常的程序包含在try段中。
2. 3. try { 4. // code that might throw a particular exception 5. } 6. 使用一個或多個catch段來處理try段中可能產(chǎn)生的異常。 7. try { 8. //code that might throw a particular exception 9. } 10. 11. catch (ExceptionType1 e1){ … 12. // 當try段中產(chǎn)生類型為ExceptionType1的異常時執(zhí)行該段 13. // e1代表該異常類(ExceptionType1)對應(yīng)的實例(對象),由系統(tǒng)自動生成 14. 15. }catch (ExceptionType2 e2) { … 16. // 當try段中產(chǎn)生類型為ExceptionType2的異常時執(zhí)行該段 17. } |
當發(fā)生的異常類型與某一catch段中的異常類型一致或相匹配時,該catch段中的代碼就會被執(zhí)行。在一個try段后可以有多個catch段,每個catch段可以對應(yīng)一種異常的處理。
Java的異常處理機制帶來的好處是將異常處理與正常的程序流分開,即將出錯處理代碼與正常的代碼相隔離。這樣產(chǎn)生的代碼可讀性好,易于管理。
新聞熱點
疑難解答
圖片精選