Exceptions
Fehler passieren. Gute Programme fangen erwartbare Fehler ab und erklären verständlich, was schiefgelaufen ist.
Ansicht
01
Verstehen
Lies die Kernidee und das Beispiel.
02
Prüfen
Beantworte die Aktiv-Checks.
03
Anwenden
Setze die Transferaufgabe um.
Lerninhalt
Verstehen & anwenden
try und except
Code im try-Block wird ausgeführt.
Tritt der passende Fehler auf, übernimmt der except-Block.
Fange so konkret wie möglich, zum Beispiel ValueError. Ein nacktes except: versteckt auch Programmierfehler.
try:
alter = int(input("Alter: "))
except ValueError:
print("Bitte eine Zahl eingeben.")
else:
print(f"Du bist {alter} Jahre alt.")finally und raise
finally läuft in jedem Fall, auch bei einem Fehler.
Das ist nützlich für Aufräumarbeiten.
Mit raise löst du selbst einen Fehler aus. Eigene Exception-Klassen machen Fehler fachlich sprechend.
class UngueltigesAlter(Exception):
pass
def pruefe(alter):
if alter < 0:
raise UngueltigesAlter("Alter darf nicht negativ sein.")
return alter
print(pruefe(18))EAFP und typische Fehler
EAFP bedeutet: Es ist einfacher, um Vergebung zu bitten, als um Erlaubnis.
Probiere den Zugriff und fange den erwarteten Fehler ab.
Häufige Fehler sind ValueError, KeyError und FileNotFoundError. Fange nur, was du wirklich behandeln kannst.
daten = {"name": "Ada"}
try:
print(daten["alter"])
except KeyError:
print("Alter fehlt.")Aktiv-Check
Teste dein Verständnis
Erkennen: Welcher Abschnitt passt?
Welcher Abschnitt passt zu diesen Begriffen?
Transfer
Mini-Projekt: Haushaltsbuch
Baue ein kleines Haushaltsbuch, das Ausgaben als Dictionaries speichert, Summen berechnet und die Einträge in einer Datei sichert.
Selbstcheck
Kann ich das schon?
Hake ab, was du wirklich erklären oder selbst bauen könntest.
Fortschritt
Bereit zum Abschließen?
Markiere die Lektion als abgeschlossen, um XP und Streak zu erhalten.