仮に>>378の仕様でいくとしても、finallyじゃなくてexceptを
1〜4別々に(ネストでもいいけど)使うべきじゃないか?
フラグ変数を使う意味がない。