欢迎光临散文网 会员登陆 & 注册

try{}里有一个return语句,那么紧跟在这个try后的finally{}里的代码会不会被执行?

2022-08-13 11:28 作者:网星软件  | 我要投稿

try{}里有一个return语句,那么紧跟在这个try后的finally{}里的代码会不会被执行?什么时候被执行,在return前还是后?

我们将结果总结如下:

1.若try{}中没有异常,则try{}中语句执行到return前一句,然后执行fianlly{}中的语句,最后回头执行try{}中的return语句。

2.若try{}中会产生异常,则在执行了会产生异常的语句之后就立马进入到catch{}语句块中,这时存在两种情况:

第一种情况:如果catch{}中没有return语句,则在执行完catch{}中的代码之后就执行fianlly{}中的语句,最后直接结束程序,并不会回到try{}中执行它的return语句。 

第二种情况:

如果catch{}中含有return语句,则在执行完catch{}中的return的前一语句时直接进入fianlly{}中执行代码,最后回头执行catch{}中的return语句,而不是执行try{}中的return语句。

try{}里有一个return语句,那么紧跟在这个try后的finally{}里的代码会不会被执行?的评论 (共 条)

分享到微博请遵守国家法律