Java疯狂讲义读书笔记第十章
Java異常處理機(jī)制主要依賴于try,catch,finally,throw,throws五個(gè)關(guān)鍵字,try里面放置可能引發(fā)異常的代碼塊,catch后對(duì)應(yīng)異常處理的一個(gè)代碼塊,finally主用于回收在try里打開的物理資源,異常機(jī)制保證finall一定會(huì)被執(zhí)行。throws用于方法簽名中,聲明該方法可能拋出的異常,throw用于拋出一個(gè)實(shí)際的異常。
只要執(zhí)行代碼出現(xiàn)了異常,系統(tǒng)就會(huì)自動(dòng)生成一個(gè)異常對(duì)象,如果沒有為這個(gè)異常定義cache塊,程序就在此退出。
拋出異常:執(zhí)行try里代碼出現(xiàn)異常,系統(tǒng)自動(dòng)生成一個(gè)異常對(duì)象,該對(duì)象提交到運(yùn)行時(shí)環(huán)境的過程。
Java把所有非正常情況分為兩種:異常(Exception)和錯(cuò)誤(Error)。他們都繼承父類Throwable。
IndexOutOfBoundsException // 數(shù)組越界異常 NumberFormatException // 數(shù)字格式化轉(zhuǎn)換異常,輸入的不是數(shù)字字符串 ArithmeticException // 算術(shù)異常,比如除0異常 NullPointerException // 空指針異常,引用變量沒有值訪問異常信息,訪問cache塊中異常對(duì)象的相關(guān)信息,通過訪問cache塊后異常形參獲得。
getMessage(); // 返回描述異常的字符串 printStackTrace(); // 將該異常的跟蹤棧信息輸出到標(biāo)準(zhǔn)錯(cuò)誤輸出 printStackTrace(PrintStream s); // 將該異常的跟蹤棧信息輸出到指定輸出流 getStackTrace(); // 返回該異常的跟蹤棧信息方法一旦使用throws拋出,本身就不需要使用try…catch來捕獲了。在調(diào)用該方法時(shí),要么放在try中捕獲,要么放在另一個(gè)帶throws聲明拋出的方法中。
在程序中自行拋出異常,使用throw。
throw與throws的比較
自定義異常,繼承Exception。
總結(jié)
以上是生活随笔為你收集整理的Java疯狂讲义读书笔记第十章的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C#decimal数据类型
- 下一篇: Java基础_0206:方法的定义与使用