




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、第5章 異常處理5.1 異常處理基礎(chǔ)5.2 異常處理措施 Java程序設(shè)計(jì)實(shí)用教程(第3版)程序設(shè)計(jì)實(shí)用教程(第3版)程序設(shè)計(jì)實(shí)用教程(第3版)程序設(shè)計(jì)實(shí)用教程(第3版)程序設(shè)計(jì)實(shí)用教程(第3版)程序設(shè)計(jì)實(shí)用教程(第3版)程序設(shè)計(jì)實(shí)用教程(第3版)程序設(shè)計(jì)實(shí)用教程(第3版)程序設(shè)計(jì)實(shí)用教程(第3版)5.1 異常處理基礎(chǔ)5.1.1 異常處理機(jī)制的必要性5.1.2 錯(cuò)誤和異常Java程序設(shè)計(jì)實(shí)用教程(第3版)5.1.1 異常處理機(jī)制的必要性面向過程語言錯(cuò)誤處理方式的缺陷不進(jìn)行范圍檢查 采用if語句進(jìn)行事先判斷以防止出現(xiàn)錯(cuò)誤。 面向?qū)ο笳Z言異常處理的思想將程序正常代碼與錯(cuò)誤處理代碼分開。使程序具有處
2、理錯(cuò)誤的能力。 Java程序設(shè)計(jì)實(shí)用教程(第3版)3. Java語言是安全的Java語言提供嚴(yán)密的語法規(guī)則。Java在編譯和運(yùn)行時(shí)嚴(yán)格檢查錯(cuò)誤。 Java提供異常處理機(jī)制。Java提供內(nèi)存自動(dòng)管理方式。 Java程序設(shè)計(jì)實(shí)用教程(第3版)5.1.2 錯(cuò)誤和異常錯(cuò)誤(error)指程序運(yùn)行時(shí)遇到的硬件或操作系統(tǒng)的錯(cuò)誤。 Error錯(cuò)誤類異常(exception)指在硬件和操作系統(tǒng)正常時(shí),程序遇到的運(yùn)行錯(cuò)。 Exception異常類Java程序設(shè)計(jì)實(shí)用教程(第3版)異常類說明public class Throwable implements Serializable public Throwabl
3、e() public Throwable(String message) public String getMessage() /獲得異常信息 public String toString() /獲得異常對象的描述信息 public void printStackTrace() /顯示異常棧跟蹤信息public class Exception extends Throwable public Exception() public Exception(String s)Java程序設(shè)計(jì)實(shí)用教程(第3版)3. RuntimeException運(yùn)行異常類算術(shù)異常ArithmeticException
4、:除數(shù)為0 空對象異常NullPointerExceptionint a = null;a0 = 1; /對空數(shù)組中的元素進(jìn)行操作String str = null;str.length() /調(diào)用空對象的方法類型強(qiáng)制轉(zhuǎn)換異常ClassCastExceptionObject obj = new Object();String str = (String) obj;Java程序設(shè)計(jì)實(shí)用教程(第3版)3. RuntimeException運(yùn)行異常類負(fù)數(shù)組長度異常NegativeArraySizeExceptionint a = new int -1;數(shù)組下標(biāo)越界異常ArrayIndexOutOfB
5、oundsExceptionint a = new int1;a1 = 1;字符串序號(hào)越界異常StringIndexOutOfBoundsException abc.charAt(-1) 數(shù)值格式異常NumberFormatExceptionint j = Integer.parseInt(abc); Java程序設(shè)計(jì)實(shí)用教程(第3版)4. 程序?qū)﹀e(cuò)誤與異常的三種處理方式程序不能處理錯(cuò)誤程序應(yīng)避免而不捕獲的異常,如除數(shù)為0、數(shù)組下標(biāo)越界等。必須捕獲的異常Java程序設(shè)計(jì)實(shí)用教程(第3版)5.2 異常處理措施 5.2.1 異常處理語句5.2.2 拋出異常5.2.3 自定義異常類Java程序設(shè)計(jì)實(shí)
6、用教程(第3版)5.2.1 異常處理語句異常處理語句語法try 語句1 /存在潛在異常的代碼catch (異常類 異常對象) 語句2 /捕獲到異常并進(jìn)行處理的代碼finally 語句3 /最后必須執(zhí)行的代碼,無論是否捕獲到異常Java程序設(shè)計(jì)實(shí)用教程(第3版)調(diào)用parseInt()方法的異常處理語句 String str = 123a;try int i = Integer.parseInt(str); /調(diào)用聲明拋出異常的方法catch(NumberFormatException e) /捕獲parseInt()方法聲明的異常對象 System.out.println(str+字符串不能轉(zhuǎn)
7、換為整數(shù));catch (Exception e) /捕獲所有異常對象 e.printStackTrace(); /顯示異常棧跟蹤信息Java程序設(shè)計(jì)實(shí)用教程(第3版)2. try語句執(zhí)行流程 Java程序設(shè)計(jì)實(shí)用教程(第3版)【例5.1】 求數(shù)組元素的平均值。average()方法中采用if語句對可能出現(xiàn)的運(yùn)行時(shí)錯(cuò)誤進(jìn)行事先處理,避免除數(shù)為0的運(yùn)行錯(cuò)誤tointArray()方法采用異常處理語句對產(chǎn)生的運(yùn)行時(shí)錯(cuò)誤進(jìn)行事后處理采用命令行參數(shù)作為輸入值Java程序設(shè)計(jì)實(shí)用教程(第3版)5.2.2 拋出異常拋出自定義異常對象的throw語句throw 異常對象public void set(int
8、 year, int month, int day) if (month12) throw new Exception(月份錯(cuò)誤);Java程序設(shè)計(jì)實(shí)用教程(第3版)2. 方法聲明拋出異常的throws子句修飾符 返回值類型 方法(參數(shù)列表) throws 異常類public static int parseInt(String s) throws NumberFormatException日期類聲明拋出異常的方法與方法調(diào)用者處理異常。public void set(int year, int month, int day) throws Exception public MyDate(int year, int month, int day) throws Exception this.set(year, month, day); public static void main(String args) throws ExceptionJava程序設(shè)計(jì)實(shí)用教程(第3版)5.2.3 自定義異常類catch(Exception e) if (e.toString().equals(月份錯(cuò)誤)【例5.2】 日期
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 原礦代加工合同范本
- 原料預(yù)定采購合同范例
- 單位暖氣維修合同范本
- 加工生產(chǎn)合同范本
- 單位轉(zhuǎn)讓社保合同范本
- 稻田農(nóng)務(wù)種植合同范本
- 做涂料包工合同范本
- 臨時(shí)講師聘用合同范本
- 醫(yī)療打包采購合同范本
- 修建工程合同范本
- JJF 2104-2024 海水溶解氧測量儀校準(zhǔn)規(guī)范
- 2024年中國煤科煤炭科學(xué)技術(shù)研究院有限公司招聘筆試參考題庫含答案解析
- 情緒管理團(tuán)體輔導(dǎo)專項(xiàng)方案
- 一年級(jí)美術(shù)課后輔導(dǎo)方案-1
- 新法律援助基礎(chǔ)知識(shí)講座
- 《鍛造安全生產(chǎn)》課件
- 小學(xué)數(shù)學(xué)1-6年級(jí)(含奧數(shù))找規(guī)律專項(xiàng)及練習(xí)題附詳細(xì)答案
- 《同濟(jì)大學(xué)簡介》課件
- 機(jī)電安裝工程質(zhì)量控制
- 愛自己是終身浪漫的開始 心理課件
- 新房房屋買賣合同
評(píng)論
0/150
提交評(píng)論