Scala编程:异常声明、流式编程与对象操作
1. 声明方法可能抛出异常
1.1 问题描述
在编程中,有时需要声明一个方法可能会抛出异常,这样做可以提醒调用者,或者在方法会被Java代码调用时使用。
1.2 解决方案
使用 @throws
注解来声明可能抛出的异常。
- 若声明一个方法可能抛出一个异常,将注解放在方法签名之前:
@throws(classOf[Exception])
override def play {
// exception throwing code here ...
}
- 若声明一个方法可能抛出多个异常,在方法签名前列出所有异常:
@throws(classOf[IOException])
@throws(classOf[LineUnavailableException])
@throws(classOf[UnsupportedAudioFileException])
def playSoundFileWithJavaAudio {
// exception throwing code here ...
}
1.3 讨论
Scala和Java在检查异常方面的理念不同。Scala不要求方法声明可能抛出的异常,也不要求调用方法时捕获异常。例如: