加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

在Scala构造函数中捕获异常

发布时间:2020-12-16 09:50:05 所属栏目:安全 来源:网络整理
导读:什么是这个 Java代码的Scala等价物,其中someMethodThatMightThrowException在别处定义? class MyClass { String a; String b; MyClass() { try { this.a = someMethodThatMightThrowException(); this.b = someMethodThatMightThrowException(); } finally
什么是这个 Java代码的Scala等价物,其中someMethodThatMightThrowException在别处定义?

class MyClass {
    String a;
    String b;

    MyClass() {
        try {
            this.a = someMethodThatMightThrowException();
            this.b = someMethodThatMightThrowException();
        } finally {
            System.out.println("Done");
        }
    }
}

解决方法

class MyClass {
  private val (a,b) =
    try {
      (someMethodThatMightThrowException(),someMethodThatMightThrowException())
    } finally {
      println("Done")
    }
}

try是Scala中的表达式,因此您可以使用它的值.使用元组和模式匹配,您可以使用statement来获取多个值.

或者,您可以使用与Java中几乎相同的代码:

class MyClass {
  private var a: String = _
  private var b: String = _

  try {
    a = someMethodThatMightThrowException()
    b = someMethodThatMightThrowException()
  } finally {
    println("Done")
  }
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读