try/catch 用于捕获一个或者多个异常 和Java语法类似,不同之处在于catch代码块中使用match表达式的方法
val s = "Foo"
try{
val i = s.toInt
} catch {
case e : Exception => e.printStackTrace
}
@throws(classOf[NumberFormatException])
def toInt(s:String):Option[Int] =
try{
Some(s.toInt)
} catch {
case e:NumberFormatException => throw e
}
那么,类似Java中的finally语句。 scala中,一般在try/catch块之前声明字段为Option,然后在try子句中创建一个Some对象进行赋值。
Scala语言通过Scala类库去实现功能而不是创建关键字,例如break和continue。