学习链接:https://www.bilibili.com/video/BV1Xh411S7bP?p=137&spm_id_from=pageDriver
object Test01_Exception {def main(args: Array[String]): Unit = {try {val n = 10 / 0} catch {case e: ArithmeticException => {println("发生算术异常")}case e: Exception => {println("发生一般异常")}} finally {println("处理结束")}}}
- Scala的没有checked(编译期)异常,异常都是在运行的时候捕获处理
- 异常捕捉的机制与其他语言中一样,如果有异常发生,catch 子句是按次序捕捉的。
因此,在 catch 子句中,越具体的异常越要靠前,越普遍的异常越靠后
- throw关键字,所有异常都是Throwable子类型。throw表达式是有类型的,Nothing
