defer の時のエラー処理ちゃんとした