資源描述:
《Java語言程序設(shè)計基礎(chǔ)教程課件(第9章)》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、Java程序設(shè)計——第9章java異常處理第9章 異常處理了解異常處理機制和辦法自定義異常類classTest{publicintdevide(intx,inty){intresult=x/y;returnx/y;}}PublicclassException1{publicstaticvoidmain(Stringargs[]){intresult=newTest().devide(3,0);System.out.println(“result=”+result);}}9.1java異常處理異常就是在程序的運行過程中所發(fā)生的異常事件,它中斷程序的正常執(zhí)行。當(dāng)程序運行
2、出現(xiàn)異常時,Java運行環(huán)境將產(chǎn)生一個異常對象,若有相應(yīng)的異常處理器處理相應(yīng)異常,將轉(zhuǎn)入相應(yīng)異常處理代碼,否則程序提前結(jié)束Java異常處理機制1——try…catch…[finally…]publicclassException2{publicstaticvoidmain(Stringargs[]){try{intresult=newTest().devide(3,0);System.out.println(“result=”+result);}catch(ArithmeticExceptione){System.out.println(e.getMessage()
3、);}finally{System.out.println(“finally”);}System.out.println(“outoftry-catch”);}}Finally和finally代碼塊之后的語句的不同之處:當(dāng)在try——catch代碼塊中使用了return語句退出當(dāng)前方法或break跳出某個循環(huán)前,finally代碼快都要執(zhí)行,而finally代碼塊之后的語句不會執(zhí)行Java異常處理機制2——方法使用throws拋出異常classTest{publicintdevide(intx,inty)throwsArithmeticException{intre
4、sult=x/y;returnx/y;}}publicclassTestException{publicstaticvoidmain(Stringargs[]){intresult=newTest().devide(3,0);System.out.println(“result=”+result);}}編譯異常!!編譯器強制程序?qū)赡馨l(fā)生異常的調(diào)用語句放入try-catch中classTest{publicintdevide(intx,inty)throwsException{。。。}}publicclassException3{publicstaticvoidma
5、in(Stringargs[]){try{intresult=newTest().devide(3,0);System.out.println(“result=”+result);}catch(Exceptione){System.out.println(e.getMessage());}}}classTest{publicintdevide(intx,inty)throwsException{。。。}}publicclassTestException{publicstaticvoidmain(Stringargs[])throwsException{intresu
6、lt=newTest().devide(3,0);System.out.println(“result=”+result);}}Throws:向上即調(diào)用方法傳遞異常,直到適當(dāng)方法捕獲并處理java系統(tǒng)異常類層次在jdk中,所有的異常類都直接或間接地繼承于Throwable類ThrowableErrorExceptionIllegalAccessErrorVirtualMachineErrorIOExceptionRuntimeExceptionArithmeticExceptionInterruptedExceptionIndexOutOfBoundsExcepti
7、onFileNotFoundExceptionEOFException可以自定義異常類嗎?如何定義?類名功能描述ArithmeticException算術(shù)運算除數(shù)為零IndexOutofBoundException下標(biāo)越界錯誤ArrayIndexOutofBoundsException數(shù)組元素下標(biāo)越界錯誤StringIndexOutofBoundsException字符串下標(biāo)越界錯誤ClassCastException類型強制轉(zhuǎn)換異常NegativeArraySizeException數(shù)組的長度為負(fù)異常NullPointerException非法使用空指針異常J