第06章異常處理_第1頁
第06章異常處理_第2頁
第06章異常處理_第3頁
第06章異常處理_第4頁
第06章異常處理_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、1Java語言程序設(shè)計(jì)2n異常和異常類n異常處理n創(chuàng)建異常第六章 異常處理3n致命錯(cuò)誤n內(nèi)存空間不足等錯(cuò)誤(Error)導(dǎo)致程序異常中斷n程序不能簡單地恢復(fù)執(zhí)行n非致命錯(cuò)誤n數(shù)組越界等異常(Exception)導(dǎo)致程序中斷執(zhí)行n程序在修正后可恢復(fù)執(zhí)行(異常)異常(Exception)4n由于非預(yù)期的結(jié)果導(dǎo)致系統(tǒng)運(yùn)行時(shí)產(chǎn)生異常異常class jex7_9 public static void main(String args) int a = 0;int b = 24/a;java jex7_9Exception in thread main“5n異常類:處理異常的類nJava語言中已定義或用戶

2、定義的某個(gè)異常類的對象nJava語言利用異常來使程序獲得處理錯(cuò)誤的能力(error-handling) n每個(gè)異常類代表一種異常事件異常類6異常類的結(jié)構(gòu)7nException類n異常類的方法n構(gòu)造方法npublic Exception()npublic Exception(String s)n常用方法npublic String toString()npublic String getMessage()npublic void printStackTrace()異常類8n異常和異常類n異常處理n創(chuàng)建異常第六章 異常處理9n程序運(yùn)行時(shí)異常n使用try-catch-finally語句捕獲異常n使用

3、子句throw說明拋出異常異常處理10n程序運(yùn)行時(shí)異常 由java程序運(yùn)行時(shí)系統(tǒng)監(jiān)測到,系統(tǒng)將生成的運(yùn)行時(shí)異常對象交給默認(rèn)的異常處理程序,在標(biāo)準(zhǔn)輸出設(shè)備上顯示該異常的內(nèi)容和發(fā)生的位置,java編譯器允許程序不對它進(jìn)行處理。異常處理11n當(dāng)一個(gè)Java程序的方法產(chǎn)生一個(gè)錯(cuò)誤,該方法創(chuàng)造一個(gè)異常對象并將其交給運(yùn)行系統(tǒng)n產(chǎn)生一個(gè)異常對象并把他交給runtime system 稱為拋出異常throwing an exception()n運(yùn)行系統(tǒng)從錯(cuò)誤發(fā)生處開始尋找處理錯(cuò)誤的程序段n異常處理的選擇稱為 catch the exception(捕獲異常)n捕獲異常的過程可以沿方法調(diào)用的逆向順序?qū)ふ耶惓L幚?/p>

4、12n異常處理器(exception handler)TryCatch()Catch() . . .Finally異常處理13n異常處理器(exception handler)ntry語句塊定義了異常處理器的范圍ncatch語句塊捕捉try語句塊拋出的異常nfinally語句塊nfinally語句塊在異常處理中是必須執(zhí)行的語句塊異常處理14異常處理public class casting public static void main(String args) fun(0);fun(1);fun(2);fun(3);static void fun(int i)System.out.printl

5、n(調(diào)用方法:fun(+i+);tryif( i=0)System.out.println(沒有異常); else if(i=1)int a=0;int b=10;b/=a;else if(i=2)int m=new int5;m5=100;else if(i=3)String str=56k9;int n=Integer.parseInt(str);catch(ArithmeticException e)System.out.println(捕獲異常:+e.getMessage();catch(ArrayIndexOutOfBoundsException e)System.out.print

6、ln(捕獲異常:+e.getMessage();catch(NumberFormatException e)System.out.println(捕獲異常:+e.getMessage();finallySystem.out.println(處理完畢!);15n異常的拋出 將異常拋出到調(diào)用該方法的方法中處理格式:()throws拋出異常語句格式:throw異常處理publicpublic classclass casting publicpublic staticstatic voidvoid main(String args) trytryfun(0);fun(1);catchcatch(Ar

7、ithmeticException e)System.out.println(e.getMessage();staticstatic voidvoid fun(intint i) throwsthrows ArithmeticExceptionSystem.out.println(調(diào)用方法);ifif(i=0)System.out.println(沒有異常);elseelse ifif(i=1)intint a=0;intint b=10;b/=a;ArithmeticException e=newnew ArithmeticException();throwthrow e;16n異常和異常類n異常處理n創(chuàng)建異常第六章 異常處理17n使用Java語言已有的異常異常的拋出/捕捉n創(chuàng)建自已的異常異常的拋出/捕捉n格式: class extends 父異常類名:Exception類,Exception類的子類或用戶已定義的異常類創(chuàng)建異常18異常(Exception)public class NumRanExce

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論