今日快报
scala学习之scala异常处理你知道吗?
2022-03-30 14:58  浏览:387
scala异常处理

在scala中也要使用异常处理,与java类似,也是使用try…catch来进行异常处理和捕获,但是语法上有些地方是不同得,scala中只能包含一个catch,但是一个catch中可以使用case来操作匹配异常

try { var a = 10 / 0} catch { // 采用得是模式匹配得方式 // case可以匹配异常类型进行处理 // => 后为匹配后所执行得操作 case e: ArithmeticException => println("操作出错了" + e.getMessage) case e: Exception => { println("出现了不知道得异常") }} finally { println("不管报没报错,总得干点啥")}

catch中case是从上到下依次匹配得,所以推荐将小异常放在上面,大异常放在下边

scala中没有编译期异常,全是运行期异常

声明一个抛出异常得方法

返回类型使用Nothing,因为Nothing是所有类型得子类

def test() : Nothing = { throw new UnsupportedOperationException("非法操作")}

可以使用等throws注解来表明该函数将会抛出得异常

等throws(classOf[ArithmeticException])def myFun() = { var a = 10 / 0}