2024年4月28日发(作者:)

一. 实验目的及实验环境

实验目的:1.理解JAVA对异常的处理

2.掌握自定义异常的定义方式

实验环境:eclipse 4.4

二. 实验内容

1.假设Sum类中有一个addContinue(int n)方法,当n>0时,方法翻译1+2+…+n

的和;当n<0时,方法抛出一个受检查的ArgumentException异常。

ArgumentException类应该提供一个能够接受并保存n值得构造方法,以及一个

能返回n值得实例方法,现定义Sum类以及ArgumentException类,并编程测试

它们。

三.方案设计

1.定义三个类Sum,ArgumentException,Test类

2.分别在类中实现加法,异常抛出和测试

四.测试数据及运行结果

1. 正常测试数据(3组)及运行结果;

2. 非正常测试数据(2组)及运行结果。

五.总结

1.实验过程中遇到的问题及解决办法;

①中没有明确表示需要进行异常抛出很有可能就会忘记这个题目存在的问题。所

以平常程序设计时,应该多考虑不同的情况,防止程序出现不可逆的漏洞。

②如果发生可识别的运行错误,系统应产生一个相应的异常类对象,并进一步寻

找异常处理代码来处理它,确保程序能从故障中恢复,之程序能够运行下去,直

到结束。

2.对设计及调试过程的心得体会。

中断,影响程序正常运行的事件称为异常。异常处理是使程序从故障中恢复,

他包括提示异常信息、不产生无效结果和释放资源三方面内容。其中,显示异常

信息和不产生无效结果可通过try和catch块来实现,释放资源可通过finally块

实现。

附代码

public class Add {

public int addContinue(int i) throws ArgumentException{

int sum=0;

if( i<0){

throw new ArgumentException(i);

}

for(int n=0;n<=i;n++){

sum=sum+n;

}

return sum;

}

}

public class ArgumentException extends Exception {

private int n;

public ArgumentException(int n) {

this.n = n;

}

public int getN(){

return n;

}

}

public class test {

public static void main(String[] args){

Add s = new Add();

try {

n(tinue(-1));

} catch (ArgumentException e) {

n(());

}

}

}