美文网首页工作生活
Scala-7.控制结构-try/catch/finally

Scala-7.控制结构-try/catch/finally

作者: 悠扬前奏 | 来源:发表于2019-07-08 22:01 被阅读0次

try/catch 用于捕获一个或者多个异常
和Java语法类似,不同之处在于catch代码块中使用match表达式的方法

val s = "Foo"
try{
  val i = s.toInt
} catch {
  case e : Exception => e.printStackTrace
}
  • Java中可以从catch子句中抛出异常,但是Scala没有受检异常,因此不需要指定抛出异常的方法。
  • 需要声明方法抛出的异常,或者需要和Java交互,在定义方法的时候添加@throws
  @throws(classOf[NumberFormatException])
  def toInt(s:String):Option[Int] =
    try{
      Some(s.toInt)
    } catch {
      case e:NumberFormatException => throw e
    }

finally

那么,类似Java中的finally语句。
scala中,一般在try/catch块之前声明字段为Option,然后在try子句中创建一个Some对象进行赋值。

可以创建自定义控制结构

Scala语言通过Scala类库去实现功能而不是创建关键字,例如break和continue。

相关文章

网友评论

    本文标题:Scala-7.控制结构-try/catch/finally

    本文链接:https://www.haomeiwen.com/subject/sjqdhctx.html