Python Lernhandbuch

Kapitel 10: REST-APIs nutzen · Abschnitt 5 von 7

Fehlerbehandlung

python
import httpx

try:
    r = httpx.get(url, timeout=10)
    r.raise_for_status()
except httpx.HTTPStatusError as e:
    print('Serverantwort mit Fehlercode:', e.response.status_code)
except httpx.TimeoutException:
    print('Zeitüberschreitung')
except httpx.RequestError as e:
    print('Netzwerkproblem:', e)      # DNS-Fehler, Verbindung verweigert usw.
else:
    daten = r.json()
Fehler Bedeutung
httpx.HTTPStatusError raise_for_status() hat einen Fehlercode gefunden
httpx.TimeoutException Zeitlimit überschritten
httpx.RequestError Oberbegriff für Netzwerkprobleme (auch TimeoutException gehört dazu, deshalb steht sie davor)

Die Reihenfolge der except-Blöcke zählt: Der erste passende gewinnt. Spezielle Fehler also vor allgemeinen.

Tipp: Bei Python-Beispielen kannst du auf ▶ Ausprobieren klicken, den Code verändern und direkt ausführen.

← Zurück