浙江理工大学
《Java程序设计》
实验报告
2012 ~2013 学年第二学期
学 院 班 级 姓 名 学 号 任课教师
信息学院 11数字媒体技术(2)
周咪咪 2011329700214
宋瑾钰
(上课时间:周二三四 节)
数字媒体技术专业
2013 年5月
AAAAAA
《Java程序设计》实 验 报 告 实验名称: 异常处理和文件读写 所使用的工具软件及环境: Windows2000 或XP,JDK1.6与Eclipse 一、实验目的: 1. 掌握包、接口、异常处理的设计方法。 2. 掌握输入输出流类。 二、实验内容: (一)了解异常处理机制,使用try…catch 语句处理异常 1.异常类型匹配的处理方式 程序功能: 首先说明\这是一个异常处理的例子\然后在程序中主动产生一个 ArithmeticException 类型被0 除的异常, 并用catch 语句捕获这个异常。最后通过 ArithmeticException 类的对象e 的方法getMessage 给出异常的具体类型并显示出来。 运行结果: 实验地点:10号楼419 分析: (1)程序从main()函数入口,首先执行输出语句System.out.println(\这是一个异常处理的例子\\n\在屏幕上输出“这是一个异常处理的例子”并换行。 (2)继而执行try…catch异常处理机制语句。首先定义局部变量i,并赋予初值使得i=10;再执行i /=0;语句,因为除数不可以为0,所以该语句抛出ArithmeticException类错误(算术错误),被catch语句捕获,跳出try语句。 (3)在catch语句中,对异常的语句进行处理。通过ArithmeticException 类对象e调用自带函数getMessage(),获取错误信息,输出结果。 (4)执行finally语句,输出“finally 语句被执行”。 (5)结束程序。 2.异常类型不匹配的程序 编写一个catch 语句中声明的异常类型不匹配的程序LX4_7.java 运行结果: AAAAAA
分析: (1)因为i/=0;(即i=i/0;)语句发生的运行异常为ArithmeticException类错误(即算数错误)。 (2)该程序中catch语句中捕捉的是IndexOutOfBoundsException类的错误(即数组越界错误),所以无法捕获try语句中出错的程序,所以最终程序输出发生错误。 3.包含多个catch 子句的异常处理程序 程序功能:在try 子句中设计两个可能出现的异常,当a 为0 时会发生异常。另外一个是肯定的异常,因为数组c 的长度为1,定义c[42]是为法的。通过两个catch 子句分别来捕获异常。 运行结果: 实验下面两种情况: 1)在程序运行时不输入参数,则args.length 的值为0,分析运行结果。 分析: (1)程序从main()函数入口执行try…catch语句。 (2)首先执行try中语句,根据int a=args.length;语句得出输入的a的值即为数组c[]的长度。因为程序中没有输入a的值,所以a的值默认为0,即数组c[]的长度为0; (3)执行int b=42/a;语句,因为a=0,而算术运算中除数不可以为0,所以发生运行异常,抛出ArithmeticException类错误(即算术错误),跳出try语句。 (4)Catch语句中捕获到异常ArithmeticException类错误,所以对错误语句进行处理,即输出算术错误原因。 (5)结束程序。 2)在运行程序时,输入22,分析运行结果。 AAAAAA