外側でcatchした場合、ダイアログは出ないので、
ダイアログが出るのが正しい動作のような気がしてきました。

まずcatchされるまで遡って、catchされる位置が確定してから
finallyが順に実行されるような動きです。