与Java不同,Scala允许您在没有catch或finally子句的情况下进行“尝试”:
scala> try { println("Foo") }
Foo
这实际上是否有任何意义,
{ println("Foo") }
答案 0 :(得分:29)
Scala的异常处理通过将任何异常传递给匿名catch函数来实现。 catch函数通过模式匹配捕获的异常来工作,如果它不匹配,它将传递异常。
catch函数是可选的,如果省略则会直接传递异常。基本上
try { exceptionThrowingFunction() }
与
相同exceptionThrowingFunction()
有关详细信息,请参阅language spec pdf的第6.22章。
答案 1 :(得分:1)
我不这么认为。我认为Scala允许尝试没有捕获或最终因为没有理由禁止它。