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ù)。
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
相關(guān)閱讀更多精彩內(nèi)容
- 簡介 程序運(yùn)行時,發(fā)生的不被期望的事件,它阻止了程序按照程序員的預(yù)期正常執(zhí)行,這就是異常。異常發(fā)生時,是任程序自生...
- 原文鏈接:blog.ouyangsihai.cn >> 你所需要的java異常的處理和設(shè)計及深入理解,看這篇就差不...
- 轉(zhuǎn)載:http://www.cnblogs.com/lulipro/p/7504267.html 一、異常簡介 程...
- Java中的異常和處理詳解 簡介 程序運(yùn)行時,發(fā)生的不被期望的事件,它阻止了程序按照程序員的預(yù)期正常執(zhí)行,這就是異...