![JAVA語言異常課件_第1頁](http://file4.renrendoc.com/view/fa394d616beea825b747b24745bca298/fa394d616beea825b747b24745bca2981.gif)
![JAVA語言異常課件_第2頁](http://file4.renrendoc.com/view/fa394d616beea825b747b24745bca298/fa394d616beea825b747b24745bca2982.gif)
![JAVA語言異常課件_第3頁](http://file4.renrendoc.com/view/fa394d616beea825b747b24745bca298/fa394d616beea825b747b24745bca2983.gif)
![JAVA語言異常課件_第4頁](http://file4.renrendoc.com/view/fa394d616beea825b747b24745bca298/fa394d616beea825b747b24745bca2984.gif)
![JAVA語言異常課件_第5頁](http://file4.renrendoc.com/view/fa394d616beea825b747b24745bca298/fa394d616beea825b747b24745bca2985.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第五章異?;仡櫪^承及其JAVA實現(xiàn)多態(tài)及其JAVA實現(xiàn)訪問修飾符對類成員的訪問限制方法修飾符:static、final、abstract2目標理解異常的概念 運用try塊、catch塊和finally塊處理異常運用多重catch塊處理異常運用嵌套try/catch塊處理異常運用關(guān)鍵字throw和throws處理異常運用JAVA編寫和使用自定義異常3………IFBISZEROGOTOERRORC=A/BPRINTCGOTOEXITERROR:
處理異常的塊“以零作除數(shù),代碼導(dǎo)致錯誤”
DISPLAY
EXIT:END處理異常2-1處理運行時錯誤的偽代碼5手動引發(fā)異常指定由方法引發(fā)的異常
tryfinallycatchthrowsthrow處理異常2-2要監(jiān)控的程序語句包含在此塊中以合理的方式捕獲和處理異常釋放資源等6Java異常類文件結(jié)束EOFException找不到文件I/O異常的根類IOException數(shù)字轉(zhuǎn)化格式異常,比如字符串到float型數(shù)字的轉(zhuǎn)換無效NumberFormatException不能加載所需的類ClassNotFoundException方法接收到非法參數(shù)IllegalArgumentException數(shù)組大小小于或大于實際的數(shù)組大小ArrayIndexOutOfBoundException嘗試訪問null對象成員NullPointerException許多java.lang異常的基類RuntimeException異常層次結(jié)構(gòu)的根類Exception算術(shù)錯誤情形,如以零作除數(shù)ArithmeticException線程中斷InterruptedException說明異常7try和catch塊2-2演示:示例1try和catch塊的用法classExceptionRaised{/**構(gòu)造方法.*/publicExceptionRaised(){}/***這個方法運行時將會產(chǎn)生一個異常.*@paramoperand1除法中的分子*@paramoperand2除法中的分母*@returnint返回除法的結(jié)果*/publicintcalculate(intoperand1,intoperand2){
intresult=operand1/operand2;returnresult;}}publicclassArithmeticException{/**構(gòu)造方法.*/publicArithmeticException(){}publicstaticvoidmain(String[]args){ExceptionRaisedobj=newExceptionRaised();try{/*定義變量result以存儲結(jié)果.*/intresult=obj.calculate(9,0);System.out.println(result);}catch(Exceptione){System.err.println(“發(fā)生異常:"+e.toString());e.printStackTrace();}}}9finally塊try塊finally塊catch塊無異常異常try、catch和finally塊的執(zhí)行流程10異常處理塊的一般形式try{ //要監(jiān)控錯誤的代碼塊methodGeneratingException();}catch(Exceptione){ //Exceptione
的異常處理程序}finally{ //在try結(jié)束前要執(zhí)行的代碼塊cleanup();}11ExceptionArithmeticExceptionNullPointerExceptionObjectThrowableErrorThreadDeathSQLExceptionRuntimeExceptionNumberFormatException……異常類的層次結(jié)構(gòu)Throwable具有兩個子類,它們是Exception:處理用戶程序應(yīng)當(dāng)捕獲的異常情況Error:Error類的異常為內(nèi)部錯誤,因此在正常情況下不期望用戶的程序捕獲它們AWTError13多重catch塊3-2使用多重catch語句時,異常子類一定要位于異常父類之前
try{…...}catch(Exceptione){……}catch(ArrayIndexOutOfBoundsExceptione){……}
×14多重catch塊3-3演示:示例2多重catch的使用classExceptionCode{/**構(gòu)造方法.*/protectedExceptionCode(){}/**這個方法將將零作除數(shù).*/publicvoidcalculate(){try{intnum=0;intnum1=42/num;}catch(Exceptione){System.out.println("父類異常
catch子句");}catch(ArithmeticExceptionae){//錯誤
–不能到達的代碼
System.out.println("這個子類的父類是"+"exception類,且不能到達");}}}classUnreachableCode{/**構(gòu)造方法.*/protectedUnreachableCode(){}/***類和應(yīng)用程序的唯一進入點.*@paramargs字符串參數(shù)的數(shù)組*/publicstaticvoidmain(String[]args){ExceptionCodeobj=newExceptionCode();obj.calculate();}}15使用throw和throws2-1語句3throw異常引發(fā)的異常!停止異常處理程序可執(zhí)行程序語句語句1語句217使用throw和throws2-2處理異常被調(diào)用的方法調(diào)用方法處理異??赡軙?dǎo)致異常防止被調(diào)用的方法出現(xiàn)異常并處理異常typecalledmethod-name(parameter-list)throwsexception-list{//bodyofmethod}typecallingmethod-name{try{//statements calledmethod-name();}catch(Exceptione){//statements}}18用戶自定義異常2-1自定義異常概念使用自定義異常的時候JavaAPI提供的內(nèi)置異常不一定總能捕獲程序中發(fā)生的所有錯誤。有時會需要創(chuàng)建用戶自定義異常自定義異常需要繼承Exception及其子類19總結(jié)異常是運行時發(fā)生的錯誤可以使用try、catch、throw、thro
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 充電寶商家合同范本
- 電動吊籃租賃合同范本
- 2025年快遞行業(yè)無人機配送試點項目合同
- 2025年度海洋工程建設(shè)項目固定資產(chǎn)租賃合同
- 代賣 合同范例
- 2025年度建筑廢棄物資源化利用技術(shù)研發(fā)與運營管理合同
- 2025年度文化廣場活動場地租賃合同二零二五年度
- 2025年度建筑安全技術(shù)咨詢與服務(wù)合同樣本
- 2025年中國電力檢修市場深度調(diào)查評估及投資方向研究報告
- 2025年度區(qū)塊鏈技術(shù)應(yīng)用公司股權(quán)投資與安全協(xié)議
- 決策與博弈論課件
- 為什么偉大不能被計劃
- 人大代表履職知識講座
- 精神障礙患者的社交技巧訓(xùn)練
- 危險物品管理制度
- 門靜脈炎護理課件
- 重慶八中2024屆高三12月高考適應(yīng)性月考卷(四) 語文試卷(含答案)
- 基礎(chǔ)研究成果向臨床轉(zhuǎn)化的實踐與挑戰(zhàn)
- 建筑構(gòu)造(下冊)
- 電流互感器試驗報告
- 蔣中一動態(tài)最優(yōu)化基礎(chǔ)
評論
0/150
提交評論