>>480
finallyはtry with resourceで削除すべき
だろうけど、catchはすべきでは?
自分がハンドリングできるもの以外は
上位にスローするのがセオリーだけど、
この場合は原因が明確で自分がハンドリング
すべきものだと思う。

あと、System.inって閉じてもいいんだっけ?