throw,throws和层层抛出异常

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抛出该异常对象。
 继续抛出异常的作用:使得调用该方法的方法,能够再一次捕获并处理异常。

你可能感兴趣的:(Java异常处理)