Как повторить попытку исключения в python
Возможно, я подхожу к этому неправильно, но у меня выходит запрос POST:
response = requests.post(full_url, json.dumps(data))
Это может привести к сбою по ряду причин, некоторые из которых связаны с данными, а некоторые - с временными сбоями, которые из-за плохо спроектированной конечной точки вполне могут возвращаться с той же ошибкой (сервер делает непредсказуемые вещи с неверными данными). Чтобы поймать эти временные сбои и позволить другим пройти, я подумал, что лучший способ сделать это - повторить попытку и продолжить, если ошибка возникнет снова. Я полагаю, что я мог бы сделать это с вложенной попыткой / кроме, но это кажется плохой практикой для меня (что, если я хочу попробовать дважды, прежде чем сдаться?)
Это решение будет:
try:
response = requests.post(full_url, json.dumps(data))
except RequestException:
try:
response = requests.post(full_url, json.dumps(data))
except:
continue
Есть лучший способ сделать это? Альтернативно, есть ли вообще лучший способ справиться с потенциально ошибочными ответами HTTP?