10.异常处理机制(1)

异常处理机制

  1. 使用try...catch捕获异常
    1.   
  2. 异常类的继承体系
  3. Java 7提供的多异常捕获

   在Java 7以前,每个catch块只能捕获一种异常;从Java 7之后,一个catch块可以捕获多种异常类型。

   使用一个catch块捕获多种异常类型的异常是需要注意如下两个地方:

    • 捕获多种类型的异常时,多种异常类型之间用竖线(|)隔开!
    • 捕获多中类型的异常时,异常变量有隐式的final修饰,因此程序不能对异常变量重新赋值!
    • 但是捕获一种类型的异常时,银城变量没有隐式的final修饰,于是,可以对异常变量重新赋值是正确的!

      

public class MultiExceptionTest{
    public static void main(String[] args){
        try{
            int a = Integer.parseInt(args[0]);
            int b = Integer.parseInt(args[1]);
            int c = a/b;
            System.out.println("输入的两个数相除的结果是:"+c);
            //System.out.println(a+","+b);
        }catch(    IndexOutOfBoundsException | NumberFormatException | ArithmeticException e1){
            System.out.println("程序发生了数组越界、数字格式异常、算术异常之一");
            //捕获多异常时,异常变量默认有final修饰,因此对异常的重新赋值是错误的
            e1 = new ArithmeticException("test");
        }catch(Exception e2){
            System.out.println("未知异常!!!");
            //捕获一种异常时,异常变量没有final修饰,因此下面代码是正确的
            e2 = new RuntimeException("test");
        }
    }
}
View Code

 

 

 

  4.  访问异常信息

  5.  使用finally回收资源

  6.  异常处理的嵌套

  7.  Java 7的自动关闭资源的try语句

posted @ 2018-03-04 09:20  慕小川  阅读(95)  评论(0)    收藏  举报