Порядок выполнения обычно напрямую указывается в порядке операторов: 1. try, 2. перехват исключений в указанном порядке (выполняется только один перехват), 3. наконец.
Таким образом, когда выполняется блок finally (обратите внимание, что это всегда так, даже если оператор return или исключение выдается в блоках try или catch), выполнение оператора try находится на своей последней фазе и, таким образом, это не может поймать дальнейшие броски. Как уже указывалось, исключение должно быть обработано в месте, расположенном дальше по стеку (или вверх, в зависимости от точки обзора;)).