相关疑难解决方法(0)

如何在Scala中写入文件?

对于阅读,有一个有用的抽象Source.如何在文本文件中写入行?

file-io scala scala-2.8

153
推荐指数
11
解决办法
14万
查看次数

最后相当于Scala Try

def doWork() = {
  getLock()
  Try(useResource) match {
    case Success(result) => releaseLock(); result
    case Failure(e: Exception) => releaseLock(); throw e
  }
}
Run Code Online (Sandbox Code Playgroud)

当我退出时,我正在努力确保锁定被释放doWork.但是作为该方法的一部分,我可能会抛出一个异常,所以我不能在最后释放锁doWork.

releaseLock()重复两次,看起来有点代码味道.我可以通过使用传统的Java风格的try/catch/finally来减少它:

def doWork() = {
  getLock()
  try {
    useResource
  } catch {
    case e: Exception => throw e
  } finally {
    releaseLock()
  }
}
Run Code Online (Sandbox Code Playgroud)

Try如果可能的话,我更喜欢使用Scala .

有没有办法在框架内执行"最终"逻辑Try

scala

10
推荐指数
1
解决办法
5310
查看次数

标签 统计

scala ×2

file-io ×1

scala-2.8 ×1