2018.10.5学习总结

学习总结

1.异常处理概述
异常分类:
—-检查异常(“编译器异常”,由编译器检查出来的异常)
—-运行时异常(编译器无法检查出来,只有程序在运行时,抛出的异常,才是运行时异常)
—-错误(错误实际上已经脱离了“异常”的范畴,因为程序员无法通过修改代码来解决问题,比如:内存不足)

2.异常的控制流程
对于异常的处理,方法有三种选择:
(1)捕获这个异常,不让它沿着调用栈继续向下抛出
(2)捕获这个异常,并继续向下抛出
(3)不捕获这个异常,从而导致方法从调用栈中被弹出,异常对象继续抛给调用栈下面的方法

3.异常处理
(1)方调用栈法本身直接抓捕异常,不让这个“异常”对象沿着方法栈,继续向下传递
(2)方法本身直接抓捕异常,并继续让这个“异常”对象沿着方法调用栈,继续向下传递。
(3)不去抓捕异常,就让这个“异常”对象沿着方法调用栈,继续向下传递,并且让方法栈中直接弹出。
其中的2,3都会使它弹出调用栈

4.throws关键字,
用来给方法的调用者,提前声明:我这个方法可能会抛出异常
方法异常的声明,通常用于编译时异常,而运行异常,不需要

如果在代码中,需要抛出某个异常,则用关键字throw

5.finally 捕获关键字
主要用来做异常处理的收尾工作。比如:关闭连接,清空内存。
return无论时try中还是catch中,fianlly里面的内容一定执行

final 可选修饰符,最终类
finalize 垃圾回收
配合异常捕获

10-05 12:26