




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、北京傳智播客教育 第二十章異常處理李若亮本章內(nèi)容異常的概念異常的分類異常處理器自定義異常異常對象的拋出方法拋出異常北京傳智播客教育 異?;靖拍畛绦蛟谶\行時發(fā)生錯誤是不可避免的在進(jìn)行錯誤處理時,根據(jù)具體的情況可以劃分為兩大類致命錯誤不可恢復(fù),例如內(nèi)存泄露非致命錯誤讀取一個文件,文件不存在修改一個文件夾的名字,但是文件夾目前被使用北京傳智播客教育 異常處理的思想對于無法處理的錯誤,基于面向?qū)ο蟮乃枷耄琂ava語言對其進(jìn)行封裝,成為一個對象,名字叫做Error,即不可恢復(fù)的錯誤對于某些非致命性的錯誤,可以通過某種形式進(jìn)行處理,Java語言對其進(jìn)行封裝,稱為一個對象,名字叫做Exception,即可
2、處理的異?,F(xiàn)象北京傳智播客教育 異常體系ThrowableErrorException北京傳智播客教育 異常的分類異常體系的分類非常龐大常見的異常NullPointerExceptionIOExceptionSQLException北京傳智播客教育 異常處理器trycatchfinally(TCF結(jié)構(gòu))語法結(jié)構(gòu):try可能引發(fā)異常的語句catch(可能出現(xiàn)的異常現(xiàn)象)針對異?,F(xiàn)象的處理語句finally (清理現(xiàn)場)北京傳智播客教育 異常處理器trytry語句塊用于包裹可能引發(fā)異常的語句try語句塊中的語句不是一定會引發(fā)異?,F(xiàn)象的try語句塊中的語句一旦引發(fā)異常,程序執(zhí)行流程將自動跳轉(zhuǎn)到對應(yīng)的
3、處理代碼中,則從引發(fā)異常的語句向后直到try語句塊結(jié)束大括號處的代碼將不再運行北京傳智播客教育 異常處理器catchcatch語句塊定義了針對try語句塊中所引發(fā)的異常進(jìn)行分門別類的處理一個try語句塊可以攜帶一個或多個catch語句塊,但是只能引發(fā)其中任意一個處理方案,不可能執(zhí)行一種以上的處理方法catch語句塊超過一個時,需要對其層次進(jìn)行自上而下由小到大的層級排列,相互之間沒有層級關(guān)系的語句可以隨意排列順序,不做要求北京傳智播客教育 異常處理器finallyfinally語句塊定義了一段總是被運行的代碼,無論try語句塊中是否出現(xiàn)異?,F(xiàn)象,無論catch語句塊是否執(zhí)行,執(zhí)行哪一個都無法影響
4、finally語句塊的正常執(zhí)行finally語句塊通常用于做現(xiàn)場清理的工作,例如try語句塊中打開了一個文件,但是由于運行過程中出現(xiàn)了異常,轉(zhuǎn)入到catch執(zhí)行處理代碼后,文件并沒有被正常關(guān)閉,此時需要利用finally語句塊來進(jìn)行處理,將文件正常關(guān)閉北京傳智播客教育 異常處理器catch與finally異常處理器中的catch與finally可以共存,一個try語句可以攜帶一到多個catch語句塊,但是只能攜帶一個finally語句塊異常處理器可以選擇只攜帶catch語句塊或finally語句塊北京傳智播客教育 異常信息獲取catch語句塊中針對出現(xiàn)的異?,F(xiàn)象根據(jù)Java面向?qū)ο蟮脑瓌t,將出
5、現(xiàn)的問題包裝成一個對象,該對象中包含了異?,F(xiàn)象對應(yīng)的所有信息異常對象名稱toString()引發(fā)異常的原因getMessage()異常出現(xiàn)的位置(錯誤堆棧)printStackTrace()北京傳智播客教育 自定義異常自定義異常即擴(kuò)展Exception類,創(chuàng)建異常類對象北京傳智播客教育 異常對象拋出針對某種異?,F(xiàn)象可以指定拋出何種異常,在拋出異常時,使用throw指令拋出具體的異常對象throw 異常對象拋出異常對象后,JVM將檢測拋出的異常是否被處理,此時可以通過下列兩種形式來進(jìn)行處理對拋出的異常進(jìn)行捕獲對拋出的異常不進(jìn)行捕獲,繼續(xù)向上層調(diào)用者拋出throws 異常名北京傳智播客教育 方法拋
6、出異常方法拋出異常是對方法的定義進(jìn)行聲明,明確方法執(zhí)行過程中可能引發(fā)異常現(xiàn)象,提醒調(diào)用者要對其進(jìn)行處理方法拋出異常要求調(diào)用者強(qiáng)制處理,除非拋出的異常為RuntimeException的子類,否則必須對其進(jìn)行處理??梢岳么颂攸c,設(shè)計自定義異常類的對象北京傳智播客教育 異常處理的應(yīng)用異?,F(xiàn)象在編程過程中及其常見,在開發(fā)過程中,如果調(diào)用了可能引發(fā)異常的語句,最常見的處理方案是針對對應(yīng)的語句使用tcf結(jié)構(gòu)對其進(jìn)行處理,并打印錯誤的異常堆棧信息,然后針對錯誤信息進(jìn)行分析,制作對應(yīng)的異常處理方案在開發(fā)調(diào)試期間,打印的異常信息可以作為編程人員的參考性信息,但是在實際運行期間,此類信息必須要屏蔽掉,以更友好的形式展示給最終用戶北京傳智播客教育 異常相關(guān)面試針對finally語句塊的執(zhí)行
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 北海市初中數(shù)學(xué)試卷
- 豆類項目風(fēng)險識別與評估綜合報告
- 邊坡錨桿錨索腰梁施工方案
- 浙江油田油管清洗施工方案
- 房屋地面鋪裝工程施工方案
- 三水裝配式檢查井施工方案
- “油茶+N”混交造林模式的技術(shù)創(chuàng)新與應(yīng)用實踐的效益詳述
- 智能制造與供應(yīng)鏈管理的策略及實施路徑
- 數(shù)字化改造的必要性與挑戰(zhàn)
- 變電站巡檢的重要性
- 2024年江蘇護(hù)理職業(yè)學(xué)院高職單招語文歷年參考題庫含答案解析
- DB61T 5097-2024 強(qiáng)夯法處理濕陷性黃土地基技術(shù)規(guī)程
- 南瓜小房子故事課件
- 2024年蘇州經(jīng)貿(mào)職業(yè)技術(shù)學(xué)院高職單招(英語/數(shù)學(xué)/語文)筆試歷年參考題庫含答案解析
- 風(fēng)電場道路及平臺施工組織方案
- 風(fēng)險分級管控74411ppt課件(PPT 146頁)
- 三八女神節(jié)活動策劃PPT課件
- 畢業(yè)設(shè)計(論文)3000t自由鍛液壓機(jī)本體設(shè)計
- 風(fēng)力發(fā)電機(jī)組PLC系統(tǒng)
- Q∕GDW 12131-2021 干擾源用戶接入電網(wǎng)電能質(zhì)量評估技術(shù)規(guī)范
- T∕CAEPI 32-2021 全尾砂膏體充填關(guān)鍵設(shè)備技術(shù)要求
評論
0/150
提交評論