




已閱讀5頁,還剩11頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第7章異常處理 Java語言提供了異常機(jī)制來處理程序運(yùn)行過程中可能發(fā)生的各種非正常事件 通過異常處理機(jī)制 大大提高了程序的健壯性 Java語言對(duì)各種異常進(jìn)行了相關(guān)的分類 提供了處理異常的不同手段 下面會(huì)進(jìn)行詳細(xì)介紹 7 1什么是異常 異常是指在程序運(yùn)行過程中出現(xiàn)的非正常事件 Java語言采用面向?qū)ο蟮姆椒ㄌ峁┝艘惶桩惓L幚頇C(jī)制 程序運(yùn)行過程中發(fā)生的所有異常都被封裝成異常類 根據(jù)異常的不同特點(diǎn) 可以劃分為不同的異常類型 Java語言的異常類通過繼承關(guān)系形成一個(gè)層次關(guān)系 如圖7 1所示 7 1什么是異常 從異常類層次結(jié)構(gòu)圖可以看出 Thorowable類位于異常層次結(jié)構(gòu)的最頂層 所有異常子類都繼承了Throwable類 都是可拋出的 從頂層往下 Thorowable類包含兩個(gè)子類 Exception和Error Error類被認(rèn)為是不能恢復(fù)的嚴(yán)重錯(cuò)誤 如系統(tǒng)內(nèi)部錯(cuò)誤和資源耗盡錯(cuò)誤等 這類錯(cuò)誤通常用戶程序不能處理 交由Java虛擬機(jī)進(jìn)行處理 Exception類定義的異常是程序可以進(jìn)行處理的 本章下面所說的異常均指此類異常 根據(jù)具體特點(diǎn) Exception異常又分為繼承自RuntimeException類的異常和非繼承自RuntimeException類的異常 7 2異常的類型 Java程序中處理的異常主要包括運(yùn)行時(shí)異常和可控異常 運(yùn)行時(shí)異常是擴(kuò)展了RuntimeException類的異常類 在編寫程序時(shí)不需要特別處理 在程序執(zhí)行時(shí)有可能發(fā)生 可控異常是編寫程序時(shí)即可預(yù)見的異常 此類異常需要程序?qū)ζ渥龀鎏幚?或進(jìn)行捕獲處理 或拋出交由上一層代碼處理 關(guān)于異常捕獲和拋出的知識(shí)在下面章節(jié)會(huì)詳細(xì)介紹 對(duì)這兩類異常 下面分別進(jìn)行舉例說明 7 2 1運(yùn)行時(shí)異常 Java語言中系統(tǒng)定義的常見運(yùn)行時(shí)異常有NullPointerException ArithmeticException ArrayStoreException BufferOverflowException BufferUnderflowException ClassCastException IndexOutOfBoundsException等 7 2 2可控異常 Java語言中系統(tǒng)定義的可控異常有ClassNotFoundException IOException DataFormatException Naming Exception等 7 3處理異常 對(duì)于程序中可能發(fā)生的各種異常 往往需要對(duì)其進(jìn)行相關(guān)的處理 從而增加程序的健壯性 在Java語言中 對(duì)異常的處理包括捕獲異常 向外拋出異常 另外 用戶還可以定義自己的異常類 對(duì)異常信息進(jìn)行重新包裝 對(duì)于這些內(nèi)容 下面分別進(jìn)行介紹 7 3 1捕獲異常 對(duì)于程序中出現(xiàn)的異常 可以利用try catch語句進(jìn)行捕獲 在編寫程序過程中 有些操作無論是否發(fā)生異常 都應(yīng)該進(jìn)行處理 如關(guān)閉數(shù)據(jù)庫連接 這樣的處理代碼可以放在finally代碼塊中 下面對(duì)try catch語句和finally語句分別進(jìn)行講解 1 try catch語句 在Java語言中 用try catch語句來捕獲異常 語法格式如圖7 2所示 1 try catch語句 try catch中可以具有多條catch語句 分別用于捕獲不同類型的異常 注意 由于NullPointerException異常和ArithmeticException異常都是運(yùn)行時(shí)異常 所以即使不使用try catch語句捕獲 程序也能編譯通過 也就是說 可控異常必須要捕獲或拋出 運(yùn)行時(shí)異??梢圆东@或拋出 也可以不做任何處理 2 finally語句 finally語句用于無論是否發(fā)生異常都要執(zhí)行的操作 需要與try catch語句配合使用 finally語句語法格式如圖7 3所示 7 3 2拋出異常 對(duì)于方法中可能出現(xiàn)的異常 如果不想在方法中進(jìn)行捕獲 可以在聲明時(shí)利用throws語句進(jìn)行拋出 在方法體中 可以使用throw語句拋出繼承了throwable類的子類 拋出的異常由上一層代碼進(jìn)行處理 下面對(duì)throws和throw語句分別進(jìn)行講解 1 throws語句 throws語句用于在方法聲明時(shí)拋出方法體中可能存在的異常 語法格式如圖7 4所示 其中 參數(shù)exceptionList表示可能存在的異常列表 都應(yīng)該是throwable類的子類 多個(gè)類之間用 號(hào)隔開 注意 在示例7 5中 throwException方法中的代碼 s getBytes 會(huì)拋出IOException運(yùn)行時(shí)異常 由于在方法定義時(shí)聲明了拋出IOException異常 所以在方法體中不需要再對(duì)此異常進(jìn)行捕獲處理 2 throw語句 throw語句用于在方法體中拋出異常 語法格式如圖7 5所示 其中 參數(shù)exception應(yīng)該是throwable類的子類 不能為多個(gè) 7 3 3自定義異常 盡管Java語言定義了許多異常類 用戶仍可以通過繼承Exception類或RuntimeException類來自定義異常 自定義異常的語法格式如圖7 6所示 7 4小結(jié) 本章介紹了Java語言中的異常處
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- DB36-T1818-2023-綠蘆筍產(chǎn)地加工技術(shù)規(guī)程-江西省
- DB36-T1624-2022-丘陵紅壤茶園測土配方施肥技術(shù)規(guī)程-江西省
- 春節(jié)前后企業(yè)安全生產(chǎn)培訓(xùn)體系
- 初中化學(xué)中考復(fù)習(xí) 2020中考化學(xué)專項(xiàng)突破(課件)專項(xiàng)二 坐標(biāo)曲線題-課件下載
- 2025年平面設(shè)計(jì)師專業(yè)能力測試卷:平面設(shè)計(jì)創(chuàng)意靈感與思維拓展能力提升能力培養(yǎng)試題
- 女性時(shí)間管理藝術(shù)
- 2025年學(xué)校新教師入職培訓(xùn)方案關(guān)注教師個(gè)性化成長
- 低鉀血癥護(hù)理教學(xué)查房
- 計(jì)算機(jī)二級(jí)Delphi學(xué)習(xí)常見誤區(qū)試題及答案
- 甘肅省定西市通渭二中2017屆高三上學(xué)期第一次月考化學(xué)試卷含解析
- 中國老年患者術(shù)后譫妄防治專家共識(shí)
- 科學(xué)上海會(huì)考試卷及答案
- 中小學(xué)校園安全風(fēng)險(xiǎn)防控規(guī)范操作手冊(cè)與案例分析
- 大模型備案-落實(shí)算法安全主體責(zé)任基本情況-XX集團(tuán)有限公司
- 重大危險(xiǎn)源安全管理培訓(xùn)
- 封閉管理的疫情防控課件
- 離婚協(xié)議書正規(guī)打?。?025年版)
- 門診口腔院培訓(xùn)
- 世界各地文化創(chuàng)意產(chǎn)業(yè)發(fā)展報(bào)告表
- 園林植物養(yǎng)護(hù)管理 項(xiàng)目4 任務(wù)4.5行道樹整形修剪學(xué)習(xí)資料
- 房地產(chǎn)交易律師見證書范文
評(píng)論
0/150
提交評(píng)論