1、异常体系
error / Exception
1)运用java异常处理机制
a. try ... catch语句
b. finally语句: 任何情况下都必须执行的代码
c. throws子句: 声明可能会出现的异常
d. throw语句:抛出异常
2)异常处理的原理
a. java虚拟机用方法调用栈来跟踪每个线程中一系列的方法调用过程
b. 如果在执行方法的过程中抛出异常,则java虚拟机必须找到能捕获该异常的catch代码块。
c. 当java虚拟机追溯到调用栈的底部的方法时,如果仍然没有找到该异常的代码库
3)异常流程的运行过程
a. finally语句不被执行的唯一情况就是先执行了用于终止程序的System.exit()方法
b. return语句用于退出本方法
c. finally代码块虽然在return语句之前就被执行
d. 建议不要在finally代码块中使用return语句
4)java中的检查异常和非检查异常有什么区别?
检查异常经编译器验证,对于抛出异常的任何方法,编译器将强制执行处理,非检查异常不应采取必要操作(error)。
5)throw 与throws的区别
throw总是出现在函数体内,抛出的具体exception,需要代码人员处理;
throws总是出现在函数头中,表示这个方法不能处理。