Java中Error與Exception的區(qū)別
Error類和Exception類都繼承自Throwable類。
Error的繼承關(guān)系:
Exception的繼承關(guān)系:
二者的不同之處:
Exception:
1.可以是可被控制(checked) 或不可控制的(unchecked)。
2.表示一個由程序員導致的錯誤。
3.應該在應用程序級被處理。
Error:
1.總是不可控制的(unchecked)。
2.經(jīng)常用來用于表示系統(tǒng)錯誤或低層資源的錯誤。
3.如何可能的話,應該在系統(tǒng)級被捕捉。
Java 中定義了兩類異常:
1) Checked exception: 這類異常都是Exception的子類 。異常的向上拋出機制進行處理,假如子類可能產(chǎn)生A異常,那么在父類中也必須throws A異常??赡軐е碌膯栴}:代碼效率低,耦合度過高。
2) Unchecked exception: 這類異常都是RuntimeException的子類,雖然RuntimeException同樣也是Exception的子類,但是它們是非凡的,它們不能通過client code來試圖解決,所以稱為Unchecked exception 。
Java 中異常類的繼承關(guān)系圖:
原文鏈接:http://mousepc.iteye.com/blog/1279559
【編輯推薦】