JVM如何执行Try catch finally块

JVM如何执行Try catch finally块,第1张

JVM如何执行Try catch finally块

稍作搜索后,看到生成了什么字节码,我发现实际上似乎没有finally块,并且JVM也没有生成跳转或goto语句。
上面的代码翻译为 (如果我正确解释字节码,如果我错了,请更正我)

public static int TestTryFinallyBlock()  {  int returnValue; //A temporary return variable  try  {     int  i = 0;          i = 10;      returnValue = i;      i = 40;      return returnValue;      }  catch (RuntimeException e)  {       i = 40; //finally section pre id copied here too       throw e;  }}

注意: 如果

'i'
是对可变类对象的引用,并且对象的内容在finally块中更改,则这些更改也将反映在返回的值中。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5141188.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-18
下一篇 2022-11-17

发表评论

登录后才能评论

评论列表(0条)

保存