Java異常類的繼承和派生關(guān)系
Java異常類從祖先類Throwable繼承下來(lái),其中包括Error類和Exception類兩個(gè)分支。Error類一般用于虛擬機(jī)遇到致命錯(cuò)誤時(shí)拋出,不建議程序員使用。而Exception類則包括了運(yùn)行時(shí)異常(RuntimeException)和受檢異常(Checked Exception)兩個(gè)分支。這兩個(gè)分支又各自派生出了許多子類。
RuntimeException
RuntimeException是一種運(yùn)行時(shí)異常,其主要源自編程人員對(duì)于程序邏輯的錯(cuò)誤理解或者不夠完善的測(cè)試。對(duì)于這種異常,編譯期不做強(qiáng)制聲明,程序運(yùn)行時(shí)才會(huì)進(jìn)行檢查。常見(jiàn)的異常子類有:NullPointerException、IndexOutOfBoundsException、IllegalArgumentException、NumberFormatException等等。
Checked Exception
Checked Exception又被稱為受檢異常,這種異常一般是外部環(huán)境因素導(dǎo)致的。Java編譯器會(huì)強(qiáng)制要求程序員對(duì)可能拋出的Checked Exception進(jìn)行捕捉或者聲明拋出。常見(jiàn)的受檢異常包括IOException、SQLException、ClassNotFoundException等等。
總結(jié)
Java異常類的繼承和派生關(guān)系主要包括在Throwable類下的Error和Exception兩個(gè)分支,后者又派生出了RuntimeException和Checked Exception兩個(gè)分支。錯(cuò)誤的分類和繼承結(jié)構(gòu)有助于程序員更好的了解異常機(jī)制,減少程序異常情況的發(fā)生。