编译时期异常
运行时期异常 不要向上抛 没人管啊 Runtime Exception 及其子类
try catch 或 try finally 或 try catch finally
对于try-catch-finally语句:先执行try 块中的代码,如果正常运行没有发生异常则执行完后执行finally 代码块中的代码;如若在try 中发生异常且被catch 捕捉到则执行catch 中的代码块,然后执行finally 块中的代码;
以下4种特殊情况,finally块不会被执行
- 在前面的代码中使用了System.exit()退出程序;
- 在finally语句块中发生异常;
- 程序所在的线程死亡;
- 关闭CPU。
当Java程序运行try catch 块遇到return语句,return语句会导致该方法立刻结束.当系统执行完return后,会去寻找异常处理流程中是否包含finally块 只有当finally执行完成后,系统才会跳回来根据return结束方法