前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Scala-7.控制结构-try/catch/finally

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

作者头像
悠扬前奏
发布2019-07-10 17:01:07
8690
发布2019-07-10 17:01:07
举报

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

代码语言:javascript
复制
val s = "Foo"
try{
  val i = s.toInt
} catch {
  case e : Exception => e.printStackTrace
}
  • Java中可以从catch子句中抛出异常,但是Scala没有受检异常,因此不需要指定抛出异常的方法。
  • 需要声明方法抛出的异常,或者需要和Java交互,在定义方法的时候添加@throws
代码语言:javascript
复制
  @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。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019.07.08 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • finally
  • 可以创建自定义控制结构
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档