try und except

16.05.2026 17:47
„This parrot is no more! He has ceased to be! … This is an ex-parrot!“

Dead Parrot · Flying Circus, 1969

Statt zu crashen — Fehler abfangen und sauber weitermachen.

Konzept

Mit try / except fängst du Fehler ab. Der Code im try-Block läuft. Falls dabei ein Fehler kommt, läuft der except-Block statt abzustürzen.

try:
    zahl = int(input("Alter? "))
    print(f"In 10 Jahren bist du {zahl + 10}.")
except ValueError:
    print("Das war keine Zahl.")

Wenn der User „dreissig" tippt, gibt es einen ValueError bei int(...). Statt eines Tracebacks läuft der except-Block — eine ordentliche Meldung.

Mehrere Fehler-Typen abfangen:

try:
    ergebnis = 10 / zahl
except ZeroDivisionError:
    print("Nicht durch 0 teilen.")
except ValueError:
    print("Keine gültige Zahl.")

Das nackte except: ohne Typ fängt alles ab — und versteckt dadurch oft echte Bugs. Lieber den konkreten Typ benennen.

Achtung: try / except ist kein Allheilmittel. Nutze es für erwartbare Fehler (ungültige User-Eingabe, fehlende Datei). Bugs in deinem Code solltest du fixen, nicht abfangen.

Live-Code

Pyodide laedt… Strg/⌘+Enter zum Ausführen

      
Nach dem Run erscheinen hier die Top-Level-Variablen.

Erwartete Ausgabe:

„dreissig" ist keine Zahl.

Übung

Fang einen ZeroDivisionError ab und gib „Nicht durch 0 teilen!" aus.

Pyodide laedt… Strg/⌘+Enter zum Ausführen

      
Nach dem Run erscheinen hier die Top-Level-Variablen.

Quiz

Wann nutzt man try / except sinnvoll?

  • [ ] Bei jedem Code, der eventuell crashen könnte
  • [x] Für erwartbare Fehler wie ungültige User-Eingaben
  • [ ] Statt if-Verzweigungen

Modul 7 — Wenn was schiefgeht. Fragen zur Lesson? Der KI-Tutor unten rechts kennt deinen letzten Run.

Stichworte

Python Einsteiger Kurs