《java面向?qū)ο缶幊?--異常和斷言》由會員分享,可在線閱讀,更多相關(guān)《java面向?qū)ο缶幊?--異常和斷言(12頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。
1、單擊此處編輯母版標(biāo)題樣式,單擊此處編輯母版文本樣式,第二級,第三級,第四級,第五級,2010/8/12,#,Java,面向?qū)ο缶幊讨?異常和斷言,一 異常處理,通過五個(gè)關(guān)鍵字控制:,try catch throw throws finally,如果在,try,塊中發(fā)生異常,該異常將被拋出,catch,塊用于捕獲異常,throw,用于手動(dòng)引發(fā)異常,throws,子句定義一個(gè)方法引發(fā)異常,不在方法體內(nèi)處理,由調(diào)用該方法的主程序處理,一 異常處理,Java,異常處理塊的通常格式:,try/,該代碼塊用來檢測錯(cuò)誤,catch,(,ExceptionType ex,),/,該代碼塊用來處理異常,fina
2、lly/,該代碼塊在,try,塊執(zhí)行完成之前得到執(zhí)行,二 異常處理方法,1.try,塊,(捕獲異常),D,:,JavaExceptionHandleTestTry.java,二 異常處理方法,2.catch,塊(處理異常),3.finally,塊(異常清理),finally,創(chuàng)建一個(gè)代碼塊,該代碼在一個(gè),try/catch,塊完成之后,另一個(gè),try/catch,塊出現(xiàn)之前執(zhí)行,finally,塊無論有沒有異常引發(fā)都會被執(zhí)行,D,:,JavaExceptionHandleTestFinally.java,二 異常處理方法,4.,多重,catch,語句,如果子類在父類后面,子類將永遠(yuǎn)不能到達(dá),因
3、此異常子類必須在其任何父類之前使用,D,:,JavaExceptionHandleTestMulCatch.java,D,:,JavaExceptionHandleTestSubCatch.java,二 異常處理方法,5.,嵌套,try,語句,6.throw,語句(產(chǎn)生異常),7.throws,子句(定義方法拋出異常),D,:,JavaExceptionHandleTestNestedTry.java,D,:,JavaExceptionHandleTestThrow.java,D,:,JavaExceptionHandleTestThrows.java,三 自定義異常類,定義一個(gè),Except
4、ion,的子類,覆蓋,Throwable,定義的相應(yīng)方法,D,:,JavaExceptionHandleMyException.java,四 斷言,提供一種在代碼中進(jìn)行正確性檢查的機(jī)制,assertion,就是程序中的一條語句,對一個(gè),boolean,表達(dá)式進(jìn)行檢查,語法結(jié)構(gòu):,(,1,),assert expression1,;,(,2,),assert expression1,:,expression2,;,四 斷言,expression1,表示一個(gè),boolean,表達(dá)式,expression2,表示一個(gè)基本類型或者一個(gè)對象,若打開了斷言功能,,expression1,的值將被計(jì)算,若為,false,,則拋出一個(gè),AssertionError,對象,如果,assertion,包括,expression2,,則,expression2,的結(jié)果將作為,AssertionError,的構(gòu)造函數(shù)的參數(shù),四 斷言,斷言程序的編譯:,javac -source 1.4 test.java,五 小結(jié),異常處理,異常處理方法,自定義異常類,斷言,