Следующие два кода генерируют разные результаты:
def x = try{
true
} finally false
invoke x получает true
def y:Boolean = try{
return true
} finally {
return false
}
invoke y получает false
версия return
работает так же, как Java.
Лично я никогда не использую 'return' в scala. Но хорошо знать, как scala оценить значение блока try-catch-finally. Спасибо.