java异常处理try-catch-finally的执行过程?
try-catch-finally程序块的执行流程及执行结果比较复杂。
基本执行过程如下:
1、 程序首先执行可能发生异常的try语句块。
2、如果try语句块没有出现异常则执行完后跳至finally语句块执行;如果try语句出现异常,则中断执行并根据发生的异常类型跳至相应的catch语块执行处理。
3、catch语句块可以有多个,分别捕获不同类型的异常。
4、catch语句块执行完成后程序会继续执行finally语句块。
5、finally语句是可选的,如果有的话,则不管是否发生异常,finally语句都会被执行。
注意: 即使try和catch块中存在return语句,finally语句也会执行。是在执行完finally语句后再通过return退出。