Java作业实验六---异常处理 下载本文

内容发布更新时间 : 2024/5/10 13:13:14星期一 下面是文章的全部内容请认真阅读。

提交方式:

把文件名改为学号姓名,提交文档和源码(只需提交最顶层包文件夹)

实验六 异常处理

一、实验目的

1. 学会利用Try-catch-finally语句来捕获和处理异常; 2. 掌握自定义异常类的方法。

二、实验要求

1. 通过编程理解系统异常处理的机制和创建自定义异常的方法。 2. 掌握基础类。

三、实验内容

(一)异常处理机制

1. 编写使用 try…catch 语句处理异常的程序文件Demo4_1.java,

编译并运行程序,并把运行结果复制在下面

注意:如果在 catch 语句中声明的异常类是 Exception,catch 语句也能正确地捕获,这是因为 Exception是ArithmeticException的父类。如果不能确定会发生哪种情况的异常,那么最好指定catch的参数为 Exception,即说明异常的类型为 Exception。

2、源文件是Demo3_2.java。要捕捉的异常是除数为零和数组下标越界。通过修改a和c[]下标值体验程序。

【思考】

① 先运行上面程序,观察运行结果。

② 按下条件分别修改数据,编译后运行,观察输出结果,分析在try…catch块里那些语句没有被执行,为什么? 块外那些语句可被执行到,为什么? 修改a=0, 保持c[2]=200; 保持a=10,修改c[3]=200, 修改a=0, 修改c[3]=200;

③ 再添加一个catch{Exception e}{ },位置在最前面,观察编译信息,说明什么?

3、编写Demo3_3.java 程序,计算两数相除并输出结果。使用两个catch子句,分别捕捉除数为0的异常和参数输入有误异常。源代码如下:

编译并运行,当输入除数为0时,将有异常出现,当输入的不是整数时,如将30输成了3o,出现的是另一种异常。

(二)自定义异常类

4、注意throw、throws的使用。源文件是Demo3_4.java。

【思考】

① 修改try...catch中语句z=div.DIV(100,0)入口参数,观察运行结果。 z=d.div(100,10); z=d.div(100,0);

② 将try...catch语句注释掉,观察编译信息。

③ 上面条件保持,在main函数后面加上throws MyException再重新编译,能否通过?然后运行观察结

果,得到什么结论?

2.编写程序Demo3_5.java,包含自定义异常,当输入数值为13和4时抛出该异常。源代码如下: class Ex3_5 extends Exception{ Ex3_5 (String msg){ super(msg); } }