Scala try-catch异常处理用法

本文概述

  • Scala try-catch示例
  • Scala try-catch示例2
Scala提供了try and catch块来处理异常。 try块用于封装可疑代码。 catch块用于处理try块中发生的异常。根据需要, 你的程序中可以有任意数量的try catch块。
Scala try-catch示例在以下程序中, 我们将可疑代码包含在try块内。在try块之后, 我们使用了catch处理程序来捕获异常。如果发生任何异常, 则catch处理程序将对其进行处理, 并且程序不会异常终止。
class ExceptionExample{ def divide(a:Int, b:Int) = { try{ a/b }catch{ case e: ArithmeticException => println(e) } println("Rest of the code is executing...") } } object MainObject{ def main(args:Array[String]){ var e = new ExceptionExample() e.divide(100, 0) } }

输出
java.lang.ArithmeticException: / by zero Rest of the code is executing...

Scala try-catch示例2在此示例中, 我们的catch处理程序中有两种情况。第一种情况将仅处理算术类型异常。第二种情况具有Throwable类, 它是异常层次结构中的超类。第二种情况能够处理程序中的任何类型的异常。有时, 当你不知道异常的类型时, 可以使用超类。
class ExceptionExample{ def divide(a:Int, b:Int) = { try{ a/b var arr = Array(1, 2) arr(10) }catch{ case e: ArithmeticException => println(e) case ex: Throwable => println("found a unknown exception"+ ex) } println("Rest of the code is executing...") } } object MainObject{ def main(args:Array[String]){ var e = new ExceptionExample() e.divide(100, 10) } }

【Scala try-catch异常处理用法】输出
found a unknown exceptionjava.lang.ArrayIndexOutOfBoundsException: 10 Rest of the code is executing...

    推荐阅读