Error類和Exception類的父類都是Throwable類。
區(qū)別:
Error類一般是指與虛擬機相關(guān)的問題,如系統(tǒng)崩潰,虛擬機錯誤,內(nèi)存空間不足,方法調(diào)用棧溢等。對于這類錯誤導(dǎo)致的應(yīng)用程序中斷,僅靠程序本身無法恢復(fù)和和預(yù)防,遇到這樣的錯誤,建議讓程序終止。
Exception類表示程序可以處理的異常,可以捕獲且可能恢復(fù)。遇到這類異常,應(yīng)該盡可能處理異常,使程序恢復(fù)運行,而不應(yīng)該隨意終止異常。
Exception類又分為:(1)運行時異常(Runtime Exception);(2)受檢查的異常(Checked Exception )。
運行時異常,編譯能通過,但是一運行就終止了,程序不會處理運行時異常,出現(xiàn)這類異常,程序會終止。而受檢查的異常,要么用try/catch捕獲,要么用throws字句聲明拋出,交給它的父類處理,否則編譯不會通過。
常見的異常:
ArrayIndexOutOfBoundsException 數(shù)組下標(biāo)越界異常,
ArithmaticException 算數(shù)異常 如除數(shù)為零
NullPointerException 空指針異常
IllegalArgumentException 不合法參數(shù)異常