![第05章異常處理_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/12/de5c83a9-9d00-407c-8d98-31bd49ecfe1f/de5c83a9-9d00-407c-8d98-31bd49ecfe1f1.gif)
![第05章異常處理_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/12/de5c83a9-9d00-407c-8d98-31bd49ecfe1f/de5c83a9-9d00-407c-8d98-31bd49ecfe1f2.gif)
![第05章異常處理_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/12/de5c83a9-9d00-407c-8d98-31bd49ecfe1f/de5c83a9-9d00-407c-8d98-31bd49ecfe1f3.gif)
![第05章異常處理_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/12/de5c83a9-9d00-407c-8d98-31bd49ecfe1f/de5c83a9-9d00-407c-8d98-31bd49ecfe1f4.gif)
![第05章異常處理_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/12/de5c83a9-9d00-407c-8d98-31bd49ecfe1f/de5c83a9-9d00-407c-8d98-31bd49ecfe1f5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、Java程序設(shè)計實用教程(第3版)第第5章章 異常處理異常處理 5.1 異常處理基礎(chǔ)異常處理基礎(chǔ) 5.2 異常處理措施異常處理措施 Java程序設(shè)計實用教程(第3版)5.1 異常處理基礎(chǔ)異常處理基礎(chǔ)1.異常處理機制的必要性異常處理機制的必要性2.錯誤和異常錯誤和異常Java程序設(shè)計實用教程(第3版)異常處理機制的必要性異常處理機制的必要性1.面向過程語言錯誤處理方式的缺陷面向過程語言錯誤處理方式的缺陷不進行范圍檢查不進行范圍檢查 采用采用if語句進行事先判斷以防止出現(xiàn)錯誤。語句進行事先判斷以防止出現(xiàn)錯誤。 2.面向?qū)ο笳Z言異常處理的思想面向?qū)ο笳Z言異常處理的思想將程序正常代碼與錯誤處理代碼分開
2、。將程序正常代碼與錯誤處理代碼分開。使程序具有處理錯誤的能力。使程序具有處理錯誤的能力。 Java程序設(shè)計實用教程(第3版)3. Java語言是安全的語言是安全的Java語言提供嚴(yán)密的語法規(guī)則。語言提供嚴(yán)密的語法規(guī)則。Java在編譯和運行時嚴(yán)格檢查錯誤。在編譯和運行時嚴(yán)格檢查錯誤。 Java提供異常處理機制。提供異常處理機制。Java提供內(nèi)存自動管理方式。提供內(nèi)存自動管理方式。 Java程序設(shè)計實用教程(第3版)錯誤和異常錯誤和異常1.錯誤(錯誤(error)指程序運行時遇到的硬件或)指程序運行時遇到的硬件或操作系統(tǒng)的錯誤。操作系統(tǒng)的錯誤。 Error錯誤類錯誤類2.異常(異常(excepti
3、on)指在硬件和操作系統(tǒng)正)指在硬件和操作系統(tǒng)正常時,程序遇到的運行錯。常時,程序遇到的運行錯。 Exception異異常類常類Java程序設(shè)計實用教程(第3版)異常類說明異常類說明public class Throwable implements Serializable public Throwable() public Throwable(String message) public String getMessage() /獲得異常信息獲得異常信息 public String toString() /獲得異常對象的描述信息獲得異常對象的描述信息 public void printSta
4、ckTrace() /顯示異常棧跟蹤信息顯示異常棧跟蹤信息public class Exception extends Throwable public Exception() public Exception(String s)Java程序設(shè)計實用教程(第3版)3. RuntimeException運行異常類運行異常類1.算術(shù)異常算術(shù)異常ArithmeticException:除數(shù)為:除數(shù)為0 2.空對象異??諏ο螽惓ullPointerExceptionint a = null;a0 = 1; /對空數(shù)組中的元素進行操作對空數(shù)組中的元素進行操作String str = null;str.
5、length() /調(diào)用空對象的方法調(diào)用空對象的方法3.類型強制轉(zhuǎn)換異常類型強制轉(zhuǎn)換異常ClassCastExceptionObject obj = new Object();String str = (String) obj;Java程序設(shè)計實用教程(第3版)3. RuntimeException運行異常類運行異常類負(fù)數(shù)組長度異常負(fù)數(shù)組長度異常NegativeArraySizeExceptionint a = new int -1;數(shù)組下標(biāo)越界異常數(shù)組下標(biāo)越界異常ArrayIndexOutOfBoundsExceptionint a = new int1;a1 = 1;字符串序號越界異常字符
6、串序號越界異常StringIndexOutOfBoundsException abc.charAt(-1) 數(shù)值格式異常數(shù)值格式異常NumberFormatExceptionint j = Integer.parseInt(abc); Java程序設(shè)計實用教程(第3版)4. 程序?qū)﹀e誤與異常的三種處理程序?qū)﹀e誤與異常的三種處理方式方式1.程序不能處理錯誤程序不能處理錯誤2.程序應(yīng)避免而不捕獲的異常,如除數(shù)為程序應(yīng)避免而不捕獲的異常,如除數(shù)為0、數(shù)組下標(biāo)越界等。、數(shù)組下標(biāo)越界等。3.必須捕獲的異常必須捕獲的異常Java程序設(shè)計實用教程(第3版)5.2 異常處理措施異常處理措施 1.異常處理語句異
7、常處理語句2.拋出異常拋出異常3.自定義異常類自定義異常類Java程序設(shè)計實用教程(第3版)異常處理語句異常處理語句1.異常處理語句語法異常處理語句語法try 語句語句1 /存在潛在異常的代碼存在潛在異常的代碼catch (異常類異常類 異常對象異常對象) 語句語句2 /捕獲到異常并進行處理的代碼捕獲到異常并進行處理的代碼finally 語句語句3 /最后必須執(zhí)行的代碼,無論是否捕獲到異常最后必須執(zhí)行的代碼,無論是否捕獲到異常Java程序設(shè)計實用教程(第3版)調(diào)用調(diào)用parseInt()方法的異常處理語句方法的異常處理語句 String str = 123a;try int i = Integ
8、er.parseInt(str); /調(diào)用聲明拋出異常的方法調(diào)用聲明拋出異常的方法catch(NumberFormatException e) /捕獲捕獲parseInt()方法聲明的異常對象方法聲明的異常對象字符串不能轉(zhuǎn)換為整數(shù)字符串不能轉(zhuǎn)換為整數(shù));catch (Exception e) /捕獲所有異常對象捕獲所有異常對象 e.printStackTrace(); /顯示異常棧跟蹤信息顯示異常棧跟蹤信息Java程序設(shè)計實用教程(第3版)2. try語句執(zhí)行流程語句執(zhí)行流程 Java程序設(shè)計實用教程(第3版)【例例5.1】 求數(shù)組元素的平均值。求數(shù)組元素的平均值。1.average()方法中
9、采用方法中采用if語句對可能出語句對可能出現(xiàn)的運行時錯誤進行事先處理,避免除現(xiàn)的運行時錯誤進行事先處理,避免除數(shù)為數(shù)為0的運行錯誤的運行錯誤2.tointArray()方法采用異常處理語句對方法采用異常處理語句對產(chǎn)生的運行時錯誤進行事后處理產(chǎn)生的運行時錯誤進行事后處理3.采用命令行參數(shù)作為輸入值采用命令行參數(shù)作為輸入值Java程序設(shè)計實用教程(第3版)拋出異常拋出異常1.拋出自定義異常對象的拋出自定義異常對象的throw語句語句throw 異常對象異常對象public void set(int year, int month, int day) if (month12) throw new E
10、xception(月份錯誤月份錯誤);Java程序設(shè)計實用教程(第3版)2. 方法聲明拋出異常的方法聲明拋出異常的throws子句子句修飾符修飾符 返回值類型返回值類型 方法方法(參數(shù)列表參數(shù)列表) throws 異常類異常類public static int parseInt(String s) throws NumberFormatException日期類聲明拋出異常的方法與方法調(diào)用者處理異常。日期類聲明拋出異常的方法與方法調(diào)用者處理異常。public void set(int year, int month, int day) throws Exception public MyDate
11、(int year, int month, int day) throws Exception this.set(year, month, day); public static void main(String args) throws ExceptionJava程序設(shè)計實用教程(第3版)自定義異常類自定義異常類catch(Exception e) if (e.toString().equals(月份錯誤月份錯誤)【例例5.2】 日期類的異常處理。日期類的異常處理。Java程序設(shè)計實用教程(第3版)實驗實驗5 異常的拋出、捕獲并處理異常的拋出、捕獲并處理 n目的:目的:理解異常處理機制。理解異常處理機制。要求:要求:發(fā)現(xiàn)各種程序錯誤,采取不同的發(fā)現(xiàn)各種程序錯誤,采取不同的手段排除錯誤。手段排除錯誤。重點:重點:掌握掌握try語句語句捕獲異常并處理。捕獲異
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度環(huán)保型塑料模具研發(fā)生產(chǎn)合同范本
- 2025年度海洋工程平臺裝修與設(shè)備安裝合同
- 糖尿病活動總結(jié)18篇
- 2025年度數(shù)字經(jīng)濟平臺合作開發(fā)合同
- 2025年度加油站新建項目安全施工責(zé)任協(xié)議
- 2025年度家用空調(diào)產(chǎn)品銷售與售后服務(wù)合同范本
- 2025年度貨運代理車輛調(diào)度與維護服務(wù)合同
- 2025年度建筑結(jié)構(gòu)健康監(jiān)測服務(wù)合同
- 網(wǎng)絡(luò)媽媽觀后感15篇
- 2025年度建筑工程施工質(zhì)量保證與承包協(xié)議
- 北京市房山區(qū)2024-2025學(xué)年七年級上學(xué)期期末英語試題(含答案)
- 2025年南陽科技職業(yè)學(xué)院高職單招數(shù)學(xué)歷年(2016-2024)頻考點試題含答案解析
- 加油站復(fù)工復(fù)產(chǎn)方案
- 2025-2030年中國增韌劑(MBS高膠粉)行業(yè)發(fā)展現(xiàn)狀及前景趨勢分析報告
- 《鋼筋焊接及驗收規(guī)程》(JGJ18)
- 2025年高考物理復(fù)習(xí)新題速遞之萬有引力與宇宙航行(2024年9月)
- 2025年首都機場集團公司招聘筆試參考題庫含答案解析
- 2025云南省貴金屬新材料控股集團限公司面向高校畢業(yè)生專項招聘144人高頻重點提升(共500題)附帶答案詳解
- 蘇州市區(qū)2024-2025學(xué)年五年級上學(xué)期數(shù)學(xué)期末試題一(有答案)
- 暑期預(yù)習(xí)高一生物必修二知識點
- 醫(yī)院人體器官捐獻及獲取流程
評論
0/150
提交評論