Error和Exception的異同點:
(1)Error類和Exception類都繼承超類Java.lang.Throwable
?
?
?
?
?
?
?
?
?
(2)Error:一般指與虛擬機相關的問題,如系統崩潰,內存溢出等。對于這類錯誤,僅靠程序本身無法恢復和預防,遇到這樣的錯誤,建議讓程序終止。
?Exception:一般是(開發人員)人為導致的錯誤,可以是可控制(checked)的異常,這類異常鼓勵用戶程序去catch它,也可以是不可控制(unchecked)的異常,這類異常建議讓程 ? ? ? ? ? ? ? ? ? ? ? ? 序終止。
?
(3)Error和RuntimeException及其子類都是未檢查的異常(unchecked exceptions),而其他所有的Exception類都是需檢查的異常(checked)。
?? ? checked exceptions:?通常是從一個可以恢復的程序中拋出來的,并且最好能夠從這種異常中使用程序恢復。比如FileNotFoundException, ParseException等。
? ? unchecked exceptions:?通常是如果一切正常的話本不該發生的異常,但是的確發生了。比如ArrayIndexOutOfBoundException, ClassCastException等。
?