Scala学习(八)——异常处理

Scala学习(八)——异常处理

本站内容版权属于本人。转载须告知本人,写明出处,并在文首提供指向本站对应文章的链接。
本文链接:Scala学习(八)——异常处理
简介

要编写一个好的程序,异常处理非常必要。Scala提供了和其他语言类似的异常处理方式。

throw语句

Scala可以直接抛出Java中的任意Throwable类型的对象:

异常抛出检查

Scala取消了Java中的抛出异常声明和检查,所以不存在throws关键字。同样,Scala中所使用Java库的抛出异常声明也不需要理会。
然而,当真的抛出了异常时,如果没有被捕获,程序会崩溃的。

try...catch语句

Scala使用类似match语句的方式来处理catch中的每一个分支。

从下面这个例子中可以看出其实它和match语句几乎无差别:

既然形式和match语句类似,那么返回值呢?确实也和match语句类似:

如果上例没有抛出异常,会输出normal。

finally语句

和其他语言类似,Scala的try...catch最后也可以加finally。用法和效果都是一样的。
当然,也可以直接写try...finally,只不过这样无法捕获异常。

总结

异常处理几乎是一个语言的必要部分(除了C语言以及一些底层语言),Scala也不例外。Scala的异常处理特殊之处不多,参考其他语言的要求就好。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

*

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据