如果在`try`或`catch`块中有`return`的情况下执行`finally`块?

Iva*_*van 8 scala exception-handling

使用try-catch-finally构造来检索数据库记录,似乎我需要在一个try块内返回一个值,以防一切正常(如果异常情况下函数的结尾并不意味着到达) .但如果我回到里面try,是否finally会到达代码(关闭连接等)?

Pab*_*dez 9

是,

try/catch表达式的结果将是trycatch块的最后一行,但finally无论如何,块总是会执行

  • 是.[以及其他适合最小长度的字符] (2认同)
  • 不执行`finally`块的唯一情况是在`try`或`catch`块中调用`sys.exit()`. (2认同)