throw和throws
2016-07-13
throw
–关键字throw用于显式抛出异常。
–抛出异常后处理:
.使用try-catch捕获异常。
.使用throws声明异常。
–语法
.throw new 异常类构造方法
.例如: throw new Exception();
–利用抛出的异常来标记不正常的事件,从而对事件流统一处理。
static int avg(int n1,int n2) throws Exception{
if(n1<0||n2<0) { //用于判断参数是否满足条件。
throw new Exception("不能使用负数!"); //显示错误信息。
}
if(n1>100||n2>100){
throw new Exception("数值太大了!");
}
return (n1+n2)/2; //返回平均值;
}
throws
–用于方法的声明处,指出方法引发的异常。
–可以声明多种方法异常类型,用逗号隔开即可。
.例如: public void test throws 异常1,异常2,异常3{
...........
}
1,任何方法都可以使用throws关键字声明异常类型,包括抽象方法。
2,子类覆盖父类中的方法,子类方法不能声明抛出比父类范围更大的异常。
3,使用了throws声明的方法,调用时必须处理声明的异常,要么使用try-catch,要么继续使用throws声明。
层层抛出异常
catch语句中,处理异常后,再次用throw抛出该异常对象。
继续抛出异常的作用:使得调用该方法的方法,能够再一次捕获并处理异常。