Behandeln von Ausnahmen mit dem Anforderungsmodul von Python
Das Abfangen von Ausnahmen bei HTTP-Anfragen ist für eine robuste Fehlerbehandlung von entscheidender Bedeutung. Während das bereitgestellte Code-Snippet einige verbindungsbezogene Fehler behandeln kann, übersieht es andere potenzielle Probleme.
Laut der Requests-Dokumentation werden verschiedene Ausnahmetypen ausgelöst für:
Alle diese Ausnahmen erben von requests.Exceptions.RequestException.
Um alle Grundlagen abzudecken, können Sie:
try: r = requests.get(url, params={'s': thing}) except requests.exceptions.RequestException as e: # Handle all cases raise SystemExit(e)
try: r = requests.get(url, params={'s': thing}) except requests.exceptions.Timeout: # Implement a retry strategy except requests.exceptions.TooManyRedirects: # Notify user of incorrect URL except requests.exceptions.RequestException as e: # Catastrophic error, terminate raise SystemExit(e)
Umgang mit HTTP-Fehlern:
Wenn Sie Ausnahmen für HTTP-Statuscodes auslösen müssen (z. B. 401 Nicht autorisiert), Rufen Sie Response.raise_for_status auf, nachdem Sie das erstellt haben Anfrage.
try: r = requests.get('http://www.google.com/nothere') r.raise_for_status() except requests.exceptions.HTTPError as err: raise SystemExit(err)
Indem Sie alle möglichen Ausnahmetypen berücksichtigen und Ihre Fehlerbehandlungsstrategie anpassen, können Sie sicherstellen, dass Ihre Anwendung Netzwerkprobleme ordnungsgemäß behandelt und den Benutzern angemessene Antworten bereitstellt.
Das obige ist der detaillierte Inhalt vonWie können Sie alle möglichen Ausnahmen behandeln, wenn Sie das Requests-Modul von Python verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!