(46)-9.1 異常處理程序設(shè)計(jì)_第1頁(yè)
(46)-9.1 異常處理程序設(shè)計(jì)_第2頁(yè)
(46)-9.1 異常處理程序設(shè)計(jì)_第3頁(yè)
(46)-9.1 異常處理程序設(shè)計(jì)_第4頁(yè)
(46)-9.1 異常處理程序設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩6頁(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)介

Java異常處理異常概念異常概念異常(exception)是在程序執(zhí)行期間中斷正常程序執(zhí)行流程的事件。是由程序內(nèi)部或外部的原因造成的問(wèn)題,并不等同于錯(cuò)誤。異常處理使得程序可以處理非預(yù)期的情景,并且繼續(xù)正常的處理。Java把異常當(dāng)作對(duì)象來(lái)處理,當(dāng)在一個(gè)方法中發(fā)生異常時(shí),將創(chuàng)建一個(gè)對(duì)象并將它交給運(yùn)行時(shí)系統(tǒng),此對(duì)象被稱為異常對(duì)象(exceptionobject)。創(chuàng)建異常對(duì)象并將它交給運(yùn)行時(shí)系統(tǒng)被稱為拋出一個(gè)異常(throwanexception)。異常示意圖異常產(chǎn)生的原因編寫的程序代碼錯(cuò)誤所產(chǎn)生的異常。這種異常稱為未檢査的異常,一般需要在某些類中集中處理這些異常。表達(dá)式違反了正常的語(yǔ)義,例如整數(shù)除零。通過(guò)空引用訪問(wèn)實(shí)例變量或方法。訪問(wèn)數(shù)組超界。資源超出了某些限制,例如使用了過(guò)多的內(nèi)存。通過(guò)throw語(yǔ)句手動(dòng)生成的異常,這種異常稱為檢査的異常,一般用來(lái)告知該方法的調(diào)用者一些必要的信息。Java虛擬機(jī)產(chǎn)生的異常。JAVA堆溢出虛擬機(jī)棧和本地方法棧溢出方法區(qū)和運(yùn)行時(shí)常量池溢出同步或異步異常調(diào)用Thread類的stop方法。同步讀取或異步讀取異常異常產(chǎn)生的原因異常類型NumberFormatExceptionJava異常類異常類型異常類型Error類(系統(tǒng)錯(cuò)誤):定義了被認(rèn)為是非常嚴(yán)重的錯(cuò)誤,程序不應(yīng)試圖恢復(fù)它。通常情況下,當(dāng)這種錯(cuò)誤發(fā)生的時(shí)候,你應(yīng)當(dāng)讓程序中止。Exception類(異常):描述的是由程序或外部環(huán)境所引起的錯(cuò)誤,這些錯(cuò)誤能被程序捕獲和處理,應(yīng)當(dāng)被處理。表示你的程序中可能會(huì)遇到的不是非常嚴(yán)重的錯(cuò)誤。例如:ClassNotFoundException是類沒有發(fā)現(xiàn)錯(cuò)誤,它是試圖使用一個(gè)不存在的類引起的。IOException,如指定的文件不存在,或輸入錯(cuò)誤的URL地址,它們通常由用戶的錯(cuò)誤輸入引起的,程序員無(wú)法控制,因此應(yīng)該處理這類異常。RuntimeException類(運(yùn)行時(shí)異常):描述的是程序設(shè)計(jì)錯(cuò)誤。例如,錯(cuò)誤的類型轉(zhuǎn)換、NullPointerException,訪問(wèn)一個(gè)越界數(shù)組或數(shù)值錯(cuò)誤。運(yùn)行時(shí)異常通常是由Java虛擬機(jī)拋出的。異常類型免檢異常(uncheckedexception):RuntimeException、Error以及它們的子類。對(duì)于免檢異常,程序中可以選擇捕獲處理,也可以不處理。這些異常一般是由程序邏輯錯(cuò)誤引起的,程序應(yīng)該從邏輯角度盡可能避免這類異常的發(fā)生。必檢異常:除了RuntimeException、Error以及它們的子類,所有其他異常都稱為必檢異常(checkedexception),這類異常編譯器會(huì)強(qiáng)制程序員檢査并通過(guò)try...catch塊處理它們,或者在方法頭進(jìn)行聲明。異常處理的優(yōu)點(diǎn)異常處理的優(yōu)點(diǎn)用強(qiáng)制規(guī)定的異常處理形式來(lái)消除錯(cuò)誤處理過(guò)程中隨意性;對(duì)錯(cuò)誤類型進(jìn)行分組和區(qū)分;隔離錯(cuò)誤處理代碼和常規(guī)代碼;Exception提供了一種方法,把意外發(fā)生時(shí)的細(xì)節(jié)從程序主邏輯中隔離開來(lái)。在傳統(tǒng)的編程中,錯(cuò)誤的檢測(cè)、報(bào)告和處理通常會(huì)導(dǎo)致混亂的代碼。在調(diào)用棧中向上傳播錯(cuò)誤,可以把錯(cuò)誤報(bào)告給調(diào)用棧

溫馨提示

  • 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論