返回首页 Scala 课堂

Scala 课堂:基础(六)

这里我们转载 Twitter 的 Scala 课堂 ,转载的内容基本来自 Twitter 的 Scala 课堂中文翻译,部分有小改动.

异常

Scala 中的异常可以在 try-catch-finally 语法中通过模式匹配使用。


 try {
  remoteCalculatorService.add(1, 2)
} catch {
  case e: ServerIsDownException => log.error(e, "the remote calculator service is unavailable. should have kept your trusty HP.")
} finally {
  remoteCalculatorService.close()
}

try 也是面向表达式的


val result: Int = try {
  remoteCalculatorService.add(1, 2)
} catch {
  case e: ServerIsDownException => {
    log.error(e, "the remote calculator service is unavailable. should have kept your trusty HP.")
    0
  }
} finally {
  remoteCalculatorService.close()
}

这并不是一个完美编程风格的展示,而只是一个例子,用来说明 try-catch-finally 和 Scala 中其他大部分事物一样是表达式。

当一个异常被捕获处理了,finally 块将被调用;它不是表达式的一部分。