在Java的開(kāi)發(fā)中編譯時(shí)期經(jīng)常會(huì)出現(xiàn)一些異常,這些異常都是需要我們?nèi)ヌ幚淼?,不過(guò)想要處理好這些異常我們就要先去了解它們,這些異常也被叫做checked異常,當(dāng)然還有一種是在運(yùn)行中出現(xiàn)的異常,這種異常即使不編寫異常處理代碼,依然可以通過(guò)編譯,因此我們稱之為運(yùn)行時(shí)異常,也稱為unchecked異常。
1.Java編譯異常類型
在Exception的子類中,除了RuntimeException類及其子類外,其他子類都是編譯時(shí)異常。編譯時(shí)異常的特點(diǎn)是在程序編寫過(guò)程中,Java編譯器就會(huì)對(duì)編寫的代碼進(jìn)行檢查,如果出現(xiàn)比較明顯的異常就必須對(duì)異常進(jìn)行處理,否則程序無(wú)法通過(guò)編譯。處理編譯時(shí)異常有兩種方式,具體如下:
·使用try…catch語(yǔ)句對(duì)異常進(jìn)行捕獲處理。
·使用throws關(guān)鍵字聲明拋出異常,讓調(diào)用者對(duì)其處理。
2.Java運(yùn)行異常類型
RuntimeException類及其子類都是運(yùn)行時(shí)異常。運(yùn)行時(shí)異常是在程序運(yùn)行時(shí)由Java虛擬機(jī)自動(dòng)進(jìn)行捕獲處理的,即使沒(méi)有使用try…catch語(yǔ)句捕獲或使用throws關(guān)鍵字聲明拋出,程序也能編譯通過(guò),只是在運(yùn)行過(guò)程中可能報(bào)錯(cuò)。在Java中,常見(jiàn)的運(yùn)行時(shí)異常有多種,
運(yùn)行時(shí)異常一般是由于程序中的邏輯錯(cuò)誤引起的,在程序運(yùn)行時(shí)無(wú)法恢復(fù)。例如通過(guò)數(shù)組的角標(biāo)訪問(wèn)數(shù)組的元素時(shí),如果超過(guò)了數(shù)組的最大角標(biāo),就會(huì)發(fā)生運(yùn)行時(shí)異常
int [ ] arr=new int[5];
System.out.println (arr[5]);
以上就是對(duì)于Java異常類型的介紹,我們只有先去了解、認(rèn)識(shí)了這些異常才能更好的去處理他們。