异常处理
1.try...catch捕获异常
try 和 catch的块的花括号不能省略
捕获异常时先捕获小异常,再捕获大异常
Java7开始一个Catch块中可以捕获多种异常,多种异常之用“|”分开
访问异常信息
2.使用finally回收资源
Java中的垃圾回收机制只会回收堆内存中的对象所占用的资源,物理资源需要显式回收
finally块总会执行(除非调用了System.exit(1)语句来退出虚拟机)
finally中尽量不要使用return或throw等导致方法终止的语句(因为在try,,,catch,,,,,中调用return语句后不会立即执行,而是先去执行finally语句,执行后再回到try中执行,如果,finall中调用了return后,try中就不会再执行了)
3.异常处理嵌套
4.自动关闭资源的try语句(java7)
try后的小括号来实现资源的关闭,保证资源的关闭,这资源的必须实现AutoCloseable或Closeable接口,实现这两个接口,必须要close()
5.Checked异常和Runtime异常体系
checked异常必须显式处理,用catch或throws
6.使用throws抛出异常
7.使用throw抛出:自行抛出异常,只能抛出实例
8.自定义异常类:继承Exception或RuntimeException
9.在catch中用throw再次抛出异常
10.异常链
11.Java的异常跟踪栈
12.异常处理规则