try-catch-finally执行顺序

try{
    可能发生异常的代码
} catch(可能发生的异常类型 异常对象名称){
    当前异常类型的处理方式
} finally{    
    一定要执行的代码
}

finally:一定要执行的代码

1. 如果把某些代码放在try中可能在执行这些代码之前就出现了异常,那么这些代码就无法执行。

如果把某些代码放在catch中有可能try中没有异常,那么catch中的代码不会执行。

如果把一些代码放在try-catch之后,如有未捕获的异常那这些代码也无法执行

2. finally也是一个代码块,在这代码块中的代码一定会执行,无论try-catch中发生那些其概况。甚至代码中有return,都会先执行finally中的代码。

一般使用关闭资源来用

流程

无return,无异常

try-finally

无return,有异常

try(未出现异常的前半段) - catch - finally

try或catch中有return,无异常

try - finally - return(try)

try或catch中 有return,有异常

try(未出现异常的前半段) - catch - finally - return(catch)

只要是finally中有return的请款下,无论有没有异常或try-catch中有没有return

rey/catch - return(finally)

猜你喜欢

转载自blog.csdn.net/m0_46357303/article/details/121313613