加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

类似的Try块在scala中尝试/ finally块

发布时间:2020-12-16 19:19:59 所属栏目:安全 来源:网络整理
导读:什么是 scala方式的类似尝试: timer.start()try { doThis()} finally { timer.cancel()} 解决方法 鉴于Try内部的异常只是创建一个Failure值(而不是在使用try时将控制转移到外部catch块),原始finally块中的代码只需要在Try之后执行. 换句话说,这将做: timer
什么是 scala方式的类似尝试:

timer.start()
try {
  doThis()
} finally {
  timer.cancel()
}

解决方法

鉴于Try内部的异常只是创建一个Failure值(而不是在使用try时将控制转移到外部catch块),原始finally块中的代码只需要在Try之后执行.
换句话说,这将做:

timer.start()
val result = Try{
  doThis()
}
timer.cancel()
result

据我所知,没有内置的快捷方式可以避免捕获结果只是为了返回它.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读