読者です 読者をやめる 読者になる 読者になる

Scala 2.8のtry...catchでfinallyに行かないことがある

Scala version 2.8.0.r22367-b20100620020114 で確認。

def exp : Int = {
  try {
    println("try")
    throw new Exception
  } catch {
    case _ => println("catch")
    return 1
  } finally {
    println("finally")
  }
}

として、expを呼び出すと。。。

try
catch
 Int = 1

となります。returnなんか明示的に呼ぶな、ということなんですが。そういう挙動みたいです。