原文:try-finally的时候try里面带return

最近学习的JVM小册中老师提了个问题: 最开始我觉得是 ,结果程序跑出来是 ,感到很疑惑,于是查看了下字节码: 从字节码可以看出: :定义变量 :将 存入本地变量表slot :加载slot 到操作数栈 :将栈顶元素存入本地变量表slot :对slot 自增 :加载slot 到操作数栈并返回 可以看到,最终返回的是slot 的值,而自增的是slot 的值,所以最终还是返回的 但是为什么JVM要这么 ...

2019-07-04 17:05 1 397 推荐指数:

查看详情

c# try-finally有什么用

finally 代码块中的代码是 try-catch 结构执行完后无论有无异常发生都会执行的。finally 代码块中的代码是 try-catch 结构执行完后无论有无异常发生都会执行的。finally 代码块中的代码是 try-catch 结构执行完后无论有无异常发生都会执行的。 重要 ...

Wed Mar 07 01:11:00 CST 2018 0 1066
java7与java9中的try-finally关闭资源

1.java7中的try 在java7之前,对于一些需要使用finally关闭资源的操作,会显得很臃肿. 在java7中引入了可以在try中直接声明需要关闭的资源的功能,在try后的圆括号直接定义一个或多个资源即可. 但是这些类都需要实现了Closeable ...

Thu Apr 16 08:46:00 CST 2020 0 575
java中 try return finally return

finally里面的代码一般都是会执行的,除非执行 System.exit(int),停止虚拟机,断电。 1.若try代码块里面return ,假设要return 的值 是A,A为基本类型或者被final修饰的不可变类型(如:基本类型的包装类型Integer,Double,String ...

Sat Jan 09 00:55:00 CST 2016 0 2763
你真的了解try{ return }finally{}中的return

今天去逛论坛 时发现了一个很有趣的问题: 谁能给我我解释一下这段程序的结果为什么是:2.而不是:3 代码如下: 看了问题后,得出了以下几个问题: 如果在 try 语句块里使用 return 语句,那么 finally 语句块还会执行吗?(果你的答案是不会执行,请务必 ...

Wed Apr 01 08:22:00 CST 2015 78 19992
try、catch、finallyreturn的执行顺序总结

如果try中没有异常,则顺序为tryfinally,如果try中有异常,则顺序为try→catch→finally,但是当try、catch、finally中加入return之后,就会有几种不同的情况出现: 一:try中带有return   1、基本类型的情况下 ...

Mon Jun 29 00:22:00 CST 2020 0 658
try..catch..finally执行顺序return

try..catch..finally这个语法大家都很熟悉,就是捕捉异常、处理异常,面试中经常被问到的一个问题是:如果在try...catch中的某某地方return了,那么之后的某某步骤还会不会执行。今天就来用代码分析一下各种可能的执行情况,懒得看文章的话,直接看最后的总结,如果不明白再回 ...

Tue Sep 09 22:21:00 CST 2014 7 2288
try catch finallyreturn 的使用

当一个方法中的 try catch finally 当有return时的执行顺序? 一个不为void的方法必须有返回值,所以在finallytry catch finally 语句之后必须有 return语句。因为return语句之后的代码无意义, 所以return ...

Fri Jan 18 19:32:00 CST 2019 0 1074
关于try...catch...finallyreturn的疑惑

关于try...catch...finally里面return一直是面试的一个热门考点。无非就分以下几个情况: 1、当有finally语句并且try中有return,在执行到return(还未执行)的时候,会先执行finally里面的内容,然后再执行行try中的return ...

Tue Apr 17 23:15:00 CST 2012 12 7437
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM