Wie versuche ich es in Python nur einmal in Ausnahmefällen?

Ich gehe das vielleicht falsch an, aber ich habe eine POST-Anfrage:

response = requests.post(full_url, json.dumps(data))

Dies kann möglicherweise aus verschiedenen Gründen fehlschlagen. Einige hängen mit den Daten zusammen, andere sind vorübergehende Fehler, die aufgrund eines schlecht gestalteten Endpunkts möglicherweise als derselbe Fehler zurückgegeben werden (der Server führt unvorhersehbare Vorgänge mit ungültigen Daten aus). Um diese vorübergehenden Fehler abzufangen und andere passieren zu lassen, dachte ich, der beste Weg, dies zu tun, wäre, es einmal zu wiederholen und dann fortzufahren, wenn der Fehler erneut auftritt. Ich glaube, ich könnte es mit einem verschachtelten Versuch machen, aber es scheint mir eine schlechte Übung zu sein (was ist, wenn ich es zweimal versuchen möchte, bevor ich aufgebe?)

Diese Lösung wäre:

try:
    response = requests.post(full_url, json.dumps(data))
except RequestException:
    try:
        response = requests.post(full_url, json.dumps(data))
    except:
        continue

Gibt es einen besseren Weg, dies zu tun? Alternativ gibt es eine allgemein bessere Möglichkeit, mit möglicherweise fehlerhaften HTTP-Antworten umzugehen?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage