エラー時にretryを追加。それから条件分岐がめちゃくちゃだったから整理。