0Pricing
Python Academy · Lektion

Ausnahmen verstehen

Lernen Sie, was Ausnahmen sind und wie Python sie auslöst.

Ausnahmen verstehen ist eine kostenlose Python Academy-Lektion auf CoddyKit. Dies ist Lektion 1 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Python Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Python Academy-Kurs umfasst insgesamt 4 Lektionen.

Einführung

Exceptions sind Pythons Mechanismus zum Signalisieren und Behandeln von Fehlern zur Laufzeit.

Was ist eine Exception?

Eine Exception ist ein Ereignis, das den normalen Programmablauf unterbricht. Python löst Exceptions aus, wenn Fehler auftreten – beispielsweise bei einer Division durch null.
# 1 / 0  # raises ZeroDivisionError
print('exceptions demo')

Exception-Hierarchie

Alle Exceptions erben von BaseException. Die meisten für Benutzer relevanten Exceptions erben von Exception. Spezifische Typen sind unter anderem ValueError, TypeError und KeyError.
print(issubclass(ValueError, Exception))
print(issubclass(Exception, BaseException))

Häufige integrierte Exceptions

TypeError: falscher Typ. ValueError: richtiger Typ, falscher Wert. KeyError: Der Schlüssel im dict fehlt. IndexError: Der Listenindex liegt außerhalb des gültigen Bereichs. AttributeError: Das Attribut existiert nicht.
# Examples:
# int('abc')       -> ValueError
# d['missing']     -> KeyError
# [1,2][9]         -> IndexError
print('common exceptions')

Der Traceback

Wenn eine Exception nicht behandelt wird, gibt Python einen Traceback aus: den Aufrufstapel von unten (am aktuellsten) nach oben. Lernen Sie, ihn zu lesen.
def f(): return 1/0
# f()  # shows traceback
print('traceback demo')

Exception-Objekt

Jede Exception enthält eine Meldung. str(e) oder e.args liefert die Beschreibung. Innerhalb von except greifen Sie darauf zu mit: except ValueError as e.
try:
    int('abc')
except ValueError as e:
    print(type(e).__name__, e)

Mehrere Typen abfangen

except (TypeError, ValueError): fängt beide Typen mit einer einzigen Klausel ab.
def parse(x):
    try:
        return int(x)
    except (TypeError, ValueError):
        return None
print(parse('abc'), parse(None))

Die ExceptionGroup (3.11+)

Python 3.11 führt ExceptionGroup für mehrere gleichzeitig auftretende Exceptions ein. Diese werden mit der Syntax except* behandelt.
# Python 3.11+:
# try: ...
# except* ValueError as eg:
#     print(eg.exceptions)
print('exception group demo')

Warnungen und Exceptions

import warnings; warnings.warn('msg') gibt eine Warnung aus, ohne eine Exception auszulösen. Verwenden Sie dies für veraltete Funktionen und nichtkritische Fehler.
import warnings
warnings.warn('This is deprecated', DeprecationWarning)
print('warning issued')

sys.exc_info()

Innerhalb eines except-Blocks liefert sys.exc_info() (type, value, traceback) – nützlich, um vollständige Details einer Exception zu protokollieren.
import sys
try:
    1/0
except:
    exc_type, exc_val, _ = sys.exc_info()
    print(exc_type, exc_val)

Verkettung von Exceptions

raise NewError('msg') from original_exc verkettet Exceptions. Das Attribut __cause__ stellt die Verbindung her.
try:
    int('abc')
except ValueError as e:
    raise RuntimeError('parse failed') from e

Schnellüberprüfung

Welche Exception wird ausgelöst, wenn Sie in einem dict auf einen nicht vorhandenen Schlüssel zugreifen?

Zusammenfassung

Exceptions erben von BaseException. Lesen Sie Tracebacks von unten nach oben. Fangen Sie Exceptions mit except as e ab. Häufige Typen sind ValueError, TypeError, KeyError, IndexError und AttributeError.

Weiter

Sehr gute Arbeit! Fahren Sie mit der nächsten Lektion fort, um weiter voranzukommen.

Häufig gestellte Fragen

Ist die Lektion „Ausnahmen verstehen“ kostenlos?

Ja — der vollständige Text von „Ausnahmen verstehen“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Python Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Python Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Ausnahmen verstehen“?

Lernen Sie, was Ausnahmen sind und wie Python sie auslöst. Du übst Python Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Python Academy zu starten?

Keine Vorkenntnisse erforderlich. Python Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 1 von 4.

Wie lange dauert die Lektion „Ausnahmen verstehen“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Python Academy-Lektion Code schreiben und ausführen?

Ja. Jede Python Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Ausnahmen verstehen
  2. try / except / else / finally
  3. Ausnahmen auslösen und erneut auslösen
  4. Benutzerdefinierte Ausnahmeklassen
← Zurück zu Python Academy