異常

1.分為兩類:
(1)error:java出現(xiàn)的嚴(yán)重問題,如:jvm系統(tǒng)內(nèi)部異常。比如:StackOverflowError棧溢出和OutOfMemoryError堆溢出
(2)Exception:
|----編譯時異常(checked)
|-----IOException
|------FileNotFoundException
|-----ClassNotFoundException
|----運(yùn)行時異常(unchecked,RuntimeException)
|------NullPointerException
|------ArrayIndexOutOfBoundsException
|------ClassCastException
|------NumberFormatException
|------InputMismatchException
|------ArithmeticException
2.異常處理方式:
異常處理:拋抓模型
拋:程序正常執(zhí)行過程中,在異常代碼處生成對應(yīng)的異常類對象,并拋出,且其后的代碼都不再執(zhí)行
抓:即異常處理方式
(1)try-catch-finally:真正將異常處理掉
(2)throws+異常類型:只是將異常拋給方法的調(diào)用者,并沒有真正將異常處理掉
3.開發(fā)中如何選擇使用一場處理方式
(1)若父類中被重寫的方法中沒有throws方式處理異常,則子類重寫方法也不能使用throws,即若子類重寫的方法中有異常,則必須使用try-catch-finally方式處理
(2)執(zhí)行方法A中,先后又調(diào)用了另外幾個方法且方法是遞進(jìn)關(guān)系執(zhí)行的,則遞進(jìn)關(guān)系的方法使用throws處理,而執(zhí)行的方法A使用try-catch-finally方式處理
4.異常對象的產(chǎn)生:(1)系統(tǒng)自動生成的異常對象(2)手動生成的異常對象,并拋出(throw)
5.自定義異常
(1)繼承現(xiàn)有的結(jié)構(gòu):RuntimeException、Exception
(2)提供全局常量:serialVersionUID
(3)提供重載的構(gòu)造器

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容