The old optimizer inlined exception handlers if a throw throws an exception that is caught in the same method. According to @VladUreche, this is mainly to support two use-cases:
breakable { ...; break; ... }
return statements
https://github.com/scala/scala/blob/2.11.x/src/compiler/scala/tools/nsc/backend/opt/InlineExceptionHandlers.scala