Javaのtry-catch-finallyは致命的なエラー(FatalError)は捕捉しませんが、 Scalaのtry-catch-finallyは致命的なエラーも捕捉してしまいます。 致命的な例外として有名なのはOutOfMemoryErrorなどがあり、このような致命的な例外はプログラム中で捕捉すべきではありません。 scala> try { | throw new StackOverflowError | } catch { | case e: Throwable => println("error") | } error そこで、Scalaではtry-catch-finallyではなく、scala.util.Tryを使って例外を捕捉する方法が一般的(?)になっています。 scala.util.Tryは、Javaのtry-catch-finallyと同様に致命的ではないエラー(N