catch 以降でエラー内容に応じて振り分ける訳ですか?
気が遠くなりませんか?