在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}






