gpt4 book ai didi

scala - Scala io.Source.FromFile 是否返回任何类型的异常?

转载 作者:行者123 更新时间:2023-12-04 20:21:39 28 4
gpt4 key购买 nike

当我停在这行代码上时,我正在查看我的代码,这是最后一次搜索异常:

var list: Array[String] = Source.fromFile(this.Path).getLines.toArray

我在 scala-lang 的文档中进行了搜索,但似乎该行的任何方法都没有抛出任何类型的 ioException ...
这怎么可能?

编辑:
try {
var list: Array[String] = Source.fromFile("").getLines.toArray
}
catch {
case ex:Exception => println(ex.getMessage)
}

不打印任何东西,为什么?

最佳答案

检查异常由 javac 强制执行,JVM 并不真正了解它们。与 Java 不同的是,Scala 不关心检查异常。

Source例如,您不会注意到任何处理异常的代码。在好的旧 Java 中是不可能的,这需要 try/catch s 或 throws条款。

尽管如此,Scala 库作者可能仍希望确保 Java 用户检查这些异常,因此有 @throws注释,它让你声明一个方法可能会抛出异常,就像 throws Java 子句。请务必记住 @throws仅用于 Java 消费。

您可能还想看看 scala.util.control.Exception .它包含处理异常的各种好东西。

关于scala - Scala io.Source.FromFile 是否返回任何类型的异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5843620/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com