scala之异常处理
scala中的异常处理结构
try {
异常代码块
} catch {
case ex: Exception
} finally {
一定会执行的代码
}
scala中的异常结构和java中的大致相同,不同点就是scala中只能有一个catch,在这个catch中可以捕获多个异常。
案例
// 在scala中大异常和小异常的顺序可以不固定
try {
val sub: Int = 2 / 0
} catch {
case ex: ArithmeticException => println("捕获到除零异常!!")
case ex: Exception => println("捕获到异常!!")
}
}
说明:
- 在scala中只能有一个catch。
- 在catch中可以有多个case,每个case可以匹配一种异常。
- => 关键符号,表示后面是对该异常的处理代码。
- finally内是一定会被执行的代码。
- throw关键字,抛出一个异常对象。所有异常都是Throwable的子类。thorw表达式的类型是Nothing,Nothing是所有类的子类。
6. throws关键字,采用的是注解的方式声明异常。