学Java,没有异常的笔记是不正常的。
Java的异常机制主要依赖于try、catch、finally、throw和throws五个关键字,其中try关键字后紧跟一个花括号扩起来的代码块(花括号不可省略),简称try块,它里面放置可能引发异常的代码。catch后对应异常类型和一个代码块,用于表明该catch块用于处理这种类型的代码块。多个catch块后还可以跟一个finally块,finally块用于回收在try块里打开的物理资源,异常机制会保证finally块总被执行。throws关键字主要在方法签名中使用,用于声明该方法可能抛出的异常;而throw用于抛出一个实际的异常,throw可以单独作为语句使用,抛出一个具体的异常对象。
Java 7进一步增强了异常处理机制的功能,包括带资源的try语句、捕获多异常的catch两个新功能,这两个功能可以极好地简化异常处理。
上述的两段话,基本上就涵盖了Java异常中的所有东西(是基本上哈)。
下面讲下异常处理中的注意事项:
1.三种常见的异常:IndexOutOfBoundsException(数组越界异常:运行程序时输入的参数不够)、NumberFormatException(数字格式异常:运行程序时输入的参数不是数字)、ArithmeticException(除0异常)。
2.异常捕获时,一定要记住先捕获小异常,再捕获大异常。
举个最简单的例子:程序总是把对应Exception类的catch块放在最后,这是为什么?因为所有的异常对象都是Exception及其子类的实例,如果把它放在前面,Java运行时将直接进入该catch块,而排在它后面的catch块将永远不会获得执行的机会。
3.使用一个catch块捕获多种类型的异常时需要注意如下两个地方。
①捕获多种类型的异常时,多种异常类型之间用竖线(|)隔开。
②捕获多种类型的异常时,异常变量有隐式的final修饰,因此程序不能对异常变量重新赋值。
先这么多,后续再补充。。。