java-异常类匿名类实验报告.doc
《java-异常类匿名类实验报告.doc》由会员分享,可在线阅读,更多相关《java-异常类匿名类实验报告.doc(10页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、,实验十四 异常类、匿名类课程名称: 面向对象程序设计 实验项目名称: 实验十四 异常类、匿名类 【实验目的】1掌握Java异常类、嵌套类、匿名类。【实验内容】一、异常类实验1编译下面的程序,并回答问题。class ExceptionTest1 public static void main(String args) int a=0,b=0; try a = Integer.parseInt(args0); / 语句1 b = 10; / 语句2 catch(NumberFormatException e) a = 1; System.out.println(a); System.out.pr
2、intln(b); (1)执行上述ExceptionTest1类(在命令提示符下敲入java ExceptionTest1 99) 运行结果:(2)执行上述ExceptionTest1类(在命令提示符下敲入java ExceptionTest1 a) 运行结果:(3)比较上面两次运行的结果,说明原因。(思考:执行语句1时发生异常,语句2执行没有?) 执行语句1时没有发生异常,语句2执行发生异常。因为在源代码中写有try a = Integer.parseInt(args0); / 语句1 b = 10; / 语句2 catch(NumberFormatException e) a = 1; 当
3、在运行代码时,若在文件名后面输入的是整数,则不会发生异常,try代码块的下面的代码继续执行,而当输入的是字符或是字符串时,try代码块会捕获错误的信息,但是并没有运行下面的代码,如果try代码块中添加了finally部分,将原来的System.out.println(a);System.out.println(b);填入到finally中,则无论有没有发生异常,都能执行到finally中的代码。2编译下面的程序,并回答问题。class ExceptionTest2 public static void main(String args) int a=0; try a = Integer.par
4、seInt(args0); (1) 编译上述程序,是否出错?出错(2) 如果出错, 给出出错信息(即javac编译该文件出错信息): 分析为何出错? 出错原因:try和catch或finally是成对出现的,不能出现了try,而后面就没有了catch或者finally(3)如果将程序改写为: class ExceptionTest2 public static void main(String args) int a=0; try a = Integer.parseInt(args0); catch(NumberFormatException e) a = 1; 上述程序是否编译出错? 为什么
5、?上述程序中try与catch是成对出现的,所以编译不会出错。(4)如果将程序改写为:class ExceptionTest2 public static void main(String args) int a=0; try a = Integer.parseInt(args0); finally a = 1; 上述程序是否编译出错?不出错为什么?当出现了try时,后面要么接catch,要么接finally,但是不能这两个都不接。(4) 如果将程序改写为:class ExceptionTest2 public static void main(String args) int a=0; tr
6、y a = Integer.parseInt(args0); catch(Exception e) a = 1; catch(NumberFormatException e) a = 2; 上述程序是否编译出错?分析为何出错, 如何修改程序使之正确?处理子类异常的catch代码块要写在前面,超类写在后面。class ExceptionTest2 public static void main(String args) int a=0; try a = Integer.parseInt(args0); catch(NumberFormatException e) a = 2; catch(Exc
7、eption e) a = 1; 3、编译下面的程序,并回答问题。class ExceptionTest3 public static void main(String args) check(-1); static void check(int i) if( i0) throw new Exception(); (1) 上述程序编译是否出错?出错 分析错误原因:(2)将上述程序修改为:class ExceptionTest3 public static void main(String args) check(-1); static void check(int i) throws Exce
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 异常 匿名 实验 报告
限制150内