簡體   English   中英

什么Scala的“嘗試”意味着沒有捕獲或最終阻止?

[英]What does Scala's “try” mean without either a catch or finally block?

與Java不同,Scala允許您在沒有catch或finally子句的情況下進行“嘗試”:

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

這實際上是否有任何意義,

{ println("Foo") }

Scala的異常處理通過將任何異常傳遞給匿名catch函數來實現。 catch函數通過模式匹配捕獲的異常來工作,如果它不匹配,它將傳遞異常。

catch函數是可選的,如果省略則會直接傳遞異常。 所以基本上

try { exceptionThrowingFunction() }

是相同的

exceptionThrowingFunction()

有關詳細信息,請參閱語言規范 pdf的第6.22章。

我不這么認為。 我認為Scala允許嘗試沒有捕獲或最終因為沒有理由禁止它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM