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

下載本文檔

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

文檔簡(jiǎn)介

1、 本章學(xué)習(xí)目標(biāo)本章學(xué)習(xí)目標(biāo)掌握異常概念、異常類的層次結(jié)構(gòu);掌握異常概念、異常類的層次結(jié)構(gòu); 理解理解Java異常處理機(jī)制;異常處理機(jī)制; 掌握掌握J(rèn)ava常見(jiàn)異常處理的程序設(shè)計(jì);常見(jiàn)異常處理的程序設(shè)計(jì); 了解自定義異常。了解自定義異常。1 異常基本概念異?;靖拍?Java把程序運(yùn)算中可能遇到的錯(cuò)誤分為兩類,一類是非致命性的,通把程序運(yùn)算中可能遇到的錯(cuò)誤分為兩類,一類是非致命性的,通過(guò)某種修正后程序還能繼續(xù)執(zhí)行,這類錯(cuò)誤稱作異常。如打開(kāi)一個(gè)文件時(shí),過(guò)某種修正后程序還能繼續(xù)執(zhí)行,這類錯(cuò)誤稱作異常。如打開(kāi)一個(gè)文件時(shí),發(fā)現(xiàn)文件不存在。另一類是致命性的,即程序遇到了非常嚴(yán)重的不正常狀發(fā)現(xiàn)文件不存在。另

2、一類是致命性的,即程序遇到了非常嚴(yán)重的不正常狀態(tài),不能簡(jiǎn)單地恢復(fù)執(zhí)行,這就是錯(cuò)誤。比如程序運(yùn)行過(guò)程中內(nèi)存耗盡。態(tài),不能簡(jiǎn)單地恢復(fù)執(zhí)行,這就是錯(cuò)誤。比如程序運(yùn)行過(guò)程中內(nèi)存耗盡。 Java中所有的異常和錯(cuò)誤都是由類來(lái)表示。異常類是中所有的異常和錯(cuò)誤都是由類來(lái)表示。異常類是Exception,錯(cuò),錯(cuò)誤類是誤類是Error。 2 異常處理機(jī)制異常處理機(jī)制 Java異常處理機(jī)制由捕獲異常和處理異常兩部分組成。異常處理機(jī)制由捕獲異常和處理異常兩部分組成。 拋出(拋出(throw)異常)異常 捕獲(捕獲(catch) 異常異常1 異常類的層次和主要子類異常類的層次和主要子類 : 執(zhí)行異常執(zhí)行異常 繼承于繼承

3、于RuntimeException 檢查異常檢查異常 除了執(zhí)行異常外,其余的除了執(zhí)行異常外,其余的Exception子類屬于檢查異常類子類屬于檢查異常類ThrowableErrorExceptionObjectAWTExceptionRuntimeExceptionIOException2 異常類的構(gòu)造函數(shù)和方法異常類的構(gòu)造函數(shù)和方法 (1)Exception(),建立一個(gè)沒(méi)有詳細(xì)信息的異常。(),建立一個(gè)沒(méi)有詳細(xì)信息的異常。 (2)Exception(String s),建立一個(gè)有詳細(xì)信息的異常,當(dāng)該異常),建立一個(gè)有詳細(xì)信息的異常,當(dāng)該異常被捕獲時(shí),則可以從信息當(dāng)中得知錯(cuò)誤發(fā)生的原因。被捕

4、獲時(shí),則可以從信息當(dāng)中得知錯(cuò)誤發(fā)生的原因。 (3)public Sring toString(),返回描述異常類信息的字符串。(),返回描述異常類信息的字符串。 (4)public void printStackTrace(),輸出當(dāng)前異常對(duì)象的堆棧使用(),輸出當(dāng)前異常對(duì)象的堆棧使用軌跡。軌跡。 (5)public String getMessage(),輸出錯(cuò)誤的性質(zhì)。(),輸出錯(cuò)誤的性質(zhì)。 (1) try/catchtry 可能發(fā)生異常的代碼塊可能發(fā)生異常的代碼塊; catch(異常類型(異常類型 異常異常對(duì)象名)對(duì)象名)異常處理代碼塊異常處理代碼塊; 例例7-2(2)使用多重使用多重c

5、atch 語(yǔ)句語(yǔ)句try 可能發(fā)生異常的代碼塊可能發(fā)生異常的代碼塊; catch(異常類型(異常類型1 異常對(duì)異常對(duì)象名象名1)異常處理代碼塊異常處理代碼塊1; catch(異常類型(異常類型n 異常對(duì)異常對(duì)象名象名n)異常處理代碼塊異常處理代碼塊n; (3)finally關(guān)鍵字的使用關(guān)鍵字的使用try 可能發(fā)生異常的代碼塊可能發(fā)生異常的代碼塊; catch(異常類型(異常類型 異常對(duì)異常對(duì)象名)象名)異常處理代碼塊異常處理代碼塊; finally無(wú)論是否拋出異常都要執(zhí)行無(wú)論是否拋出異常都要執(zhí)行的代碼的代碼;例例7-4例例7-51 Try-catch-finally語(yǔ)句語(yǔ)句 2 Throw 語(yǔ)

6、句語(yǔ)句 在某些語(yǔ)句中手動(dòng)拋出異常對(duì)象在某些語(yǔ)句中手動(dòng)拋出異常對(duì)象 throw new 異常名異常名();3 Throws 子句子句 將出現(xiàn)的異常向調(diào)用它的上一層方法拋出,由上層方法進(jìn)行異常處理或繼續(xù)向上一層方將出現(xiàn)的異常向調(diào)用它的上一層方法拋出,由上層方法進(jìn)行異常處理或繼續(xù)向上一層方法拋出該異常法拋出該異常 修飾符修飾符 返回類型返回類型 方法名(參數(shù)方法名(參數(shù)1,參數(shù)參數(shù)2,)throws 異常列表異常列表 例例7-6例例7-7 定義定義Exception的一個(gè)子類就可以的一個(gè)子類就可以建立自己的異常類型建立自己的異常類型(Exception當(dāng)然是當(dāng)然是Throwable的一個(gè)子類)的一個(gè)子類) 。語(yǔ)法格式:語(yǔ)法格式: class 自定義異常名自定義異常名 extends 父異常類名父異常類名 類體類體; Exception類自己沒(méi)有定義任何方法。它繼承了類自己沒(méi)有定義任何方法。它繼承了Throwable提供的方法。因此提供的方法。因此所有異常,包括自定義異常,都可以獲得所有異常,包括自定義異常,都可以獲得Throwable定義的方法定義的方法 。也可以在自定也可以在自定義創(chuàng)建的異常類中覆蓋一個(gè)或多個(gè)這樣的方法。義創(chuàng)建的異常類中覆蓋一個(gè)或多個(gè)這樣的方法。 例例7-8 Java語(yǔ)言的異常處理機(jī)制是由捕獲異常和

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論