/*
* 异常
*/
检查性异常:程序正常,但由于外在条件不满足引发。如打开可能不存在的文件、连接可能不存在的地址等。
运行期异常:程序bug,如数组越界、0被除,入参不满足条件等。
错误:比较少见,可能是程序bug,也可能是环境问题。如内存耗尽。错误在程序中不需要处理,由运行环境处理。
在finally中一般会处理需要关闭的资源。一般情况下都会执行,以下几种情况将不会执行:
1、finally快中发生了异常。
2、程序所在线程死亡。
3、在前面的代码中使用了System.exit()方法。
4、关闭了CPU。