java によく似た形式だが、Scala は非チェック例外なので throws でチェックする例外を 宣言する必要がないしコンパイルエラーを消すために無理に try catch を記述する必要もない。 (@throwsアノテーションを使えば、throws宣言は可能) また、java の throws で例外宣言しているメソッドを Scala から呼び出しても try catch で例外を捕捉しなくても良い。 scala の catch ブロックでは、捕捉する例外をバターンマッチ形式で case の後に指定する。 例外後の処理は => の後に記述する。 そして、Scala の try catch finally は結果の値を生成する。 scala> val foo = try { | "test".toLong | } catch { | case ex: Exception => 2L |