如果没有 catch 或 finally 块,Scala 的“try”意味着什么?

2024-04-15

与 Java 不同,Scala 允许您进行简单的“尝试”,无需 catch 或 finally 子句:

scala> try { println("Foo") }
Foo

这实际上还有什么意义吗?

{ println("Foo") }

?


Scala 的异常处理通过将任何异常传递给匿名 catch 函数来进行。 catch 函数通过模式匹配捕获的异常来工作,如果不匹配,它将传递异常。

catch 函数是可选的,如果省略,则异常将直接向上传递。所以本质上

try { exceptionThrowingFunction() }

是相同的

exceptionThrowingFunction()

参见第 6.22 章语言规范 http://www.scala-lang.org/sites/default/files/linuxsoft_archives/docu/files/ScalaReference.pdfpdf 了解更多信息。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如果没有 catch 或 finally 块,Scala 的“try”意味着什么? 的相关文章

随机推荐