Scala异常处理示例

时间:2020-02-23 14:41:46  来源:igfitidea点击:

Scala异常处理类似于Java中的异常处理。
但是,Scala不支持检查的异常。

Scala中的抛出异常

只需创建一个异常对象,然后使用throw关键字将其抛出即可。

throw new ArithmeticException

Scala尝试捕获块

Scala允许我们尝试/捕获异常并使用case块执行模式匹配。

考虑下面的示例。

object Arithmetic {
 def main(args: Array[String]) {
    try {
       val z = 4/0
    } catch {
                case ex: ArithmeticException => {
          println("Cannot divide a number by zero")
       }
    }
 }
}

其中我们试图将数字除以零,然后在catch块中捕获算术异常。
匹配算术异常的情况,并显示"不能将数字除以零"的语句。

Scala的finally子句

无论表达式/程序是否提前终止或者成功执行,finally子句都将执行代码。

考虑下面的示例。

object Arithmetic {
 def main(args: Array[String]) {
    try {
       val z = 4/0
    } catch {
                case ex: ArithmeticException => {
          println("Cannot divide a number by zero")
       }
    }
finally {
println("This is final block")
}
 }
}