黑马程序员技术交流社区

标题: 学习异常遇到的一点问题 [打印本页]

作者: 青春灬漫步    时间: 2014-10-19 16:03
标题: 学习异常遇到的一点问题
如果父类方法抛出多个异常,那么子类在覆盖时,怎么抛?
作者: nerveva2000    时间: 2014-10-19 18:06
对多异常的处理
1,声明异常时,建议声明更为具体的异常,这样处理的可以更具体。
2,对方声明几个异常,就对应有几个catch块。不要定义多余的catch块
如过多个catch块中的异常出现继承关系,父类异常catch块放在最下面。

建立在进行catch处理时,catch中一定要定义具体处理方式。
不要简单定义一句 e.printStackTrace(),
也不要简单的就书写一条输出语句。
  1. class Demo
  2. {
  3.         int div (int a,int b) throws ArithmeticException,ArrayIndexOutOfBoundsException //在功能上通过throws 的关键字,声明类该功能有可能会出现问题。
  4.         {
  5.                 int[] arr = new int[a];
  6.                 System.out.println(arr[4]);
  7.                 return a/b;
  8.         }
  9. }

  10. class Test
  11. {
  12.         public static void main(String[] args)
  13.         {
  14.                 Demo d = new Demo();
  15.                 try
  16.                 {
  17.                         int x = d.div(4,1);
  18.                         System.out.println("x="+x);
  19.                 }
  20.                 catch(ArithmeticException e)
  21.                 {
  22.                         System.out.println(e.toString());        //异常名称:异常信息
  23.                         System.out.println("除零了");
  24.                 }
  25.                 catch(ArrayIndexOutOfBoundsException e)
  26.                 {
  27.                         System.out.println(e.toString());        //异常名称:异常信息
  28.                         System.out.println("脚标越界了");
  29.                 }
  30.                 System.out.println("over");
  31.         }
  32. }
复制代码





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2