论坛首页 入门技术论坛

一道很诡异的程序题

浏览 8048 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (6) :: 隐藏帖 (0)
作者 正文
   发表时间:2010-11-21  
thinking in java中有这样一句话
在try,catch中最好不要return,因为在finally中的操作会覆盖try catch中的return的结果。
所以你的代码的执行顺序就是try中return->finally。最后的return 不执行
0 请登录后投票
   发表时间:2010-11-21  
rainsilence 写道
thinking in java中有这样一句话
在try,catch中最好不要return,因为在finally中的操作会覆盖try catch中的return的结果。
所以你的代码的执行顺序就是try中return->finally。最后的return 不执行

但是在finally里面return的话,就直接返回finally里面的return的值了,而不是返回try里面return的值
0 请登录后投票
   发表时间:2010-11-28  
try中return会被覆盖掉的,最终返回的是finally中的结果。

finally是和try走的不是同一个机制,也就像上面的说的那样,可以认为try中的return和finally的代码是同时执行的。
0 请登录后投票
论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics