deferの位置とエラーメッセージを修正