資源描述:
《異常類匿名類實驗報告》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫。
1、實驗十四異常類、匿名類課程名稱:面向?qū)ο蟪绦蛟O(shè)計實驗項目名稱:實驗十四異常類、匿名類學生姓名:專業(yè):學號:實驗地點:實驗日期:年月日【實驗?zāi)康摹?.掌握Java異常類、嵌套類、匿名類?!緦嶒瀮?nèi)容】一、異常類實驗1.編譯下面的程序,并回答問題。classExceptionTest1{publicstaticvoidmain(String[]args){inta=0,b=0;try{a=Integer.parseInt(args[0]);//語句1b=10;//語句2}catch(NumberForma
2、tExceptione){a=1;}System.out.println(a);System.out.println(b);}}(1)執(zhí)行上述ExceptionTest1類(在命令提示符下敲入javaExceptionTest199)運行結(jié)果:(2)執(zhí)行上述ExceptionTest1類(在命令提示符下敲入javaExceptionTesta)運行結(jié)果:(3)比較上面兩次運行的結(jié)果,說明原因。(思考:執(zhí)行語句1時發(fā)生異常,語句2執(zhí)行沒有?)2.編譯下面的程序,并回答問題。classException
3、Test2{publicstaticvoidmain(String[]args){inta=0;try{a=Integer.parseInt(args[0]);}}}(1)編譯上述程序,是否出錯?(2)如果出錯,給出出錯信息(即javac編譯該文件出錯信息):分析為何出錯?(3)如果將程序改寫為:classExceptionTest2{publicstaticvoidmain(String[]args){inta=0;try{a=Integer.parseInt(args[0]);}catch(Nu
4、mberFormatExceptione){a=1;}}}上述程序是否編譯出錯?為什么?(4)如果將程序改寫為:classExceptionTest2{publicstaticvoidmain(String[]args){inta=0;try{a=Integer.parseInt(args[0]);}finally{a=1;}}上述程序是否編譯出錯?為什么?(4)如果將程序改寫為:classExceptionTest2{publicstaticvoidmain(String[]args){inta=
5、0;try{a=Integer.parseInt(args[0]);}catch(Exceptione){a=1;}catch(NumberFormatExceptione){a=2;}}}上述程序是否編譯出錯?分析為何出錯,如何修改程序使之正確?3、編譯下面的程序,并回答問題。classExceptionTest3{publicstaticvoidmain(String[]args){check(-1);}staticvoidcheck(inti){if(i<0)thrownewException
6、();}}(1)上述程序編譯是否出錯?分析錯誤原因:(2)將上述程序修改為:classExceptionTest3{publicstaticvoidmain(String[]args){check(-1);}staticvoidcheck(inti)throwsException{if(i<0)thrownewException();}}那么,上述程序編譯是否出錯?分析出錯原因:4.編譯下面程序,回答問題。classExceptionTest4{publicstaticvoidmain(String
7、[]args){method3();System.out.println("success!");}staticvoidmethod1(){thrownewException();}staticvoidmethod2(){method1();}staticvoidmethod3(){method2();}}(1)上述程序編譯是否出錯?編譯錯誤是什么?(2)修正上述程序(通過兩種方式:給方法添加throws子句,或者使用try-catch-finally)。(3)如果將方法method1中的throw
8、newException();更改為:thrownewRuntimeException();那么程序是否編譯通過?如果編譯正常,那么執(zhí)行ExceptionTest4類,出現(xiàn)什么結(jié)果(是否會顯示success字符串)?如何修改程序使得能夠顯示success字符串?5、設(shè)計一個簡單的類ExceptionTest,在該類的main方法中實現(xiàn):將輸入?yún)?shù)args[0]轉(zhuǎn)換為int類型的數(shù)字(要求使用包裝類的數(shù)字轉(zhuǎn)換方法,并通過try-catch-finally方式捕獲并處理轉(zhuǎn)