scala outline
为什么要抛异常
正常情况下如果某处代码发生任何异,程序将会终止。如果处理异常,程序将不会因异常终止
java 异常
try catch
- scala
不区分
编译时异常和运行时异常 - scala在进行异常捕获的时候,只有一个catch块,在catch块中
通过模式匹配,来匹配不同类型的异常
- 在catch子句中,
越
具体的异常越
要靠前,越普遍的异常越靠后
def main(args: Array[String]): Unit = {
try {
10 / 0
} catch {
// 具体异常
case e1: ArithmeticException => println(e1.getMessage)
// 普通异常
case e2: Exception => println(e2.getMessage)
} finally {
println("不管是否发生异常都会执行")
}
println("捕获异常后,我要正常执行")
}
throws
通过throws注解标记方法可能会发生异常