DDB*_*DDB 5 scala exception file ioexception
当我停在这行代码上时,我正在查看我的代码,以便最后一次搜索异常:
var list: Array[String] = Source.fromFile(this.Path).getLines.toArray
Run Code Online (Sandbox Code Playgroud)
我搜索了scala-lang的文档,但似乎没有任何一种方法抛出任何一种ioException......这怎么可能?
编辑:
try {
var list: Array[String] = Source.fromFile("").getLines.toArray
}
catch {
case ex:Exception => println(ex.getMessage)
}
Run Code Online (Sandbox Code Playgroud)
什么都不打印?
检查异常是由 javac 强制执行的,JVM 并不真正了解它们。与 Java 不同的是,Scala 并不关心受检查的异常。
例如,查看源代码,您不会注意到任何处理异常的代码。这在传统的 Java 中是不可能的,需要try/catch或throws子句。
尽管如此,Scala 库作者可能仍然希望确保 Java 用户检查这些异常,因此有@throws注释,它可以让您声明一个方法可以像 Java 子句一样抛出异常throws。请务必记住,这@throws仅适用于 Java 使用。
您可能还想看看scala.util.control.Exception。它包含处理异常的各种好东西。