try..catch里面有return语句,finally里面的语句还会执行吗?
时间: 2023-09-08 08:00:59 浏览: 157
Jungle68#-#[Java] try catch finally,try里有return,finally还执行么?1
在try...catch语句中,如果try块中的代码出现了异常,catch块会捕获这个异常并执行相应的处理逻辑。在catch块中,如果有return语句,那么这个return语句将会立即结束方法的执行,并将返回值返回给调用方。
在try...catch...finally语句中,finally块中的语句无论try块中是否出现异常,都会被执行。即使try块中有return语句,finally块中的语句也会执行。当遇到return语句时,会先执行finally块中的代码,然后才会返回到调用方。
需要注意的是,如果finally块中也有return语句,那么不管try块中是否出现异常,finally块中的return语句都会将结果返回给调用方,而try或catch块中的return语句将被忽略。
总结起来,无论try块中是否出现异常,catch块中是否有return语句,finally块中的代码都会执行。而如果finally块中有return语句,它将覆盖try或catch块中的return语句,成为最终的返回结果。
阅读全文