新聞中心
Error與Exception有什么區(qū)別?
Error和Exception的聯(lián)系

繼承結(jié)構(gòu):Error和Exception都是繼承于Throwable,RuntimeException繼承自Exception。
Error和RuntimeException及其子類稱為未檢查異常(Unchecked exception),其它異常成為受檢查異常(Checked Exception)。
Error和Exception的區(qū)別
Error類一般是指與虛擬機相關(guān)的問題,如系統(tǒng)崩潰,虛擬機錯誤,內(nèi)存空間不足,方法調(diào)用棧溢出等。如java.lang.StackOverFlowError和Java.lang.OutOfMemoryError。對于這類錯誤,Java編譯器不去檢查他們。對于這類錯誤的導(dǎo)致的應(yīng)用程序中斷,僅靠程序本身無法恢復(fù)和預(yù)防,遇到這樣的錯誤,建議讓程序終止。
Exception類表示程序可以處理的異常,可以捕獲且可能恢復(fù)。遇到這類異常,應(yīng)該盡可能處理異常,使程序恢復(fù)運行,而不應(yīng)該隨意終止異常。
運行時異常和受檢查的異常
Exception又分為運行時異常(Runtime Exception)和受檢查的異常(Checked Exception )。
RuntimeException:其特點是Java編譯器不去檢查它,也就是說,當程序中可能出現(xiàn)這類異常時,即使沒有用try……catch捕獲,也沒有用throws拋出,還是會編譯通過,如除數(shù)為零的ArithmeticException、錯誤的類型轉(zhuǎn)換、數(shù)組越界訪問和試圖訪問空指針等。處理RuntimeException的原則是:如果出現(xiàn)RuntimeException,那么一定是程序員的錯誤。
受檢查的異常(IOException等):這類異常如果沒有try……catch也沒有throws拋出,編譯是通不過的。這類異常一般是外部錯誤,例如文件找不到、試圖從文件尾后讀取數(shù)據(jù)等,這并不是程序本身的錯誤,而是在應(yīng)用環(huán)境中出現(xiàn)的外部錯誤。
cetch循環(huán)原理和內(nèi)容?
cetch循環(huán)原理是義務(wù)中有多層循環(huán),必須確認循環(huán)發(fā)生異常時是否該結(jié)束,try catch 塊在 循環(huán)內(nèi),發(fā)生異常時拋出異常信息,但不結(jié)束循環(huán);
try catch 塊在 循環(huán)外,發(fā)生異常時拋出異常信息,并結(jié)束循環(huán);異常可能會被捕獲掉,比如上面catch聲明的是捕獲Exception,那么所有Exception包括子類都會被捕獲,但如Error或者是Throwable但又不是Exception(Exception繼承Throwable)就不會被捕獲。
如果異常被捕獲,就會執(zhí)行catch里面的代碼.如果異常沒有被捕獲,就會往外拋出,相當于這整個方法出現(xiàn)了異常。
到此,以上就是小編對于java異常處理throws例子的問題就介紹到這了,希望這2點解答對大家有用。
當前文章:Java異常處理Throwable實現(xiàn)方法解析
標題URL:http://fisionsoft.com.cn/article/dpjceog.html


咨詢
建站咨詢
