try catch 的 final 块有什么用,直接写在外面不是一样?

248 天前
 drymonfidelia
1507 次点击
所在节点    程序员
4 条回复
ysc3839
248 天前
return 也会执行
google2020
248 天前
try 或 catch 可以 return ,return 之后外面的就不跑了,但 final 会照样跑
mxT52CRuqR6o5
248 天前
其他语言不清楚,js 的 final 块可以改变 try/catch 中已经 return 的返回值
geelaw
248 天前
楼上已经说过 return 的时候 finally 会执行,把必须执行的代码写在 finally 里面而不是后面对阅读更好。另外就是

try { throw something; }
catch { throw; } // 重新 throw
finally { other; }
another;

里面 other 是会执行的,another 不会执行。当然你可以说 another 可以挪到最外面的 catch 后面,但是这样会导致整个程序不能非平凡地使用方法,因为最外面的 catch ,在一段“正常书写”的代码里,不一定在当前方法里面。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1025172

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX