Grundlagen der Fehlerbehandlung in Python: Vermeidung von Programmabstürzen
Fehlerbehandlung ist eine entscheidende Fähigkeit für jeden Programmierer, da sie es Programmen ermöglicht, angemessen auf unerwartete Probleme zu reagieren. Dieses Kapitel behandelt die Arten von Fehlern und Ausnahmen, auf die Sie stoßen können, sowie deren Behandlung mit den Blöcken try und except.
Arten von Fehlern und Ausnahmen in Python
Python unterteilt Fehler in zwei Hauptkategorien: Syntaxfehler und Ausnahmen.
Syntaxfehler
Syntaxfehler treten auf, wenn der Parser eine fehlerhafte Anweisung erkennt. Dies kann ein Tippfehler, eine fehlende Klammer oder eine falsche Einrückung sein. Hier ein Beispiel:
1print("Hello world"
Dies führt zu einem Syntaxfehler (SyntaxError), da die schließende Klammer fehlt.
Ausnahmen oder Laufzeitfehler
Ausnahmen sind Fehler, die während der Ausführung erkannt werden. Häufige Ausnahmen sind:
- IndexError: Zugriff auf einen nicht vorhandenen Index;
- ValueError: Übergabe eines Arguments mit falschem Wert;
- TypeError: Datentypinkompatibilität, z. B. Addition eines Strings zu einer Ganzzahl;
- ZeroDivisionError: Division einer Zahl durch Null;
- FileNotFoundError: Zugriff auf eine nicht vorhandene Datei.
Hier ist eine Ausnahmeklassen-Hierarchie, bei der jeder Fehler auf niedrigerer Ebene von dem darüberliegenden erbt. Das bedeutet, dass beim Abfangen einer Ausnahme auf höherer Ebene, wie Exception, auch alle davon abgeleiteten 'Kind'-Fehler abgefangen werden. Es ist nicht notwendig, jede einzelne Ausnahme zu kennen, aber die gelb hervorgehobenen sind die gebräuchlichsten und besonders wichtig zu beachten.
Der try-, except-Block
Zur effektiven Behandlung von Ausnahmen verwendet Python die Blöcke try und except. Dadurch kann das Programm auch dann fortgesetzt werden, wenn ein Fehler auftritt.
Beispiel für einen try-, except-Block
1234567try: # Attempt to divide by zero result = 10 / 0 print("The result is", result) except ZeroDivisionError: # This code runs if the ZeroDivisionError is raised print("Attempted to divide by zero.")
Wenn die Division möglich wäre (d. h. durch eine andere Zahl als Null geteilt wird), würde die print-Anweisung im try-Block ausgeführt und der except-Block übersprungen werden. Der except-Block wird nur ausgeführt, wenn der spezifische Fehler, für den er vorgesehen ist, ausgelöst wird.
Swipe to start coding
Schreibe ein Skript, das verschiedene Fehlertypen mit grundlegenden Operationen behandelt.
#Verwende Kommentare als hilfreiche Tipps zur Lösung dieser Aufgabe 😉
Lösung
Danke für Ihr Feedback!
single
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen
Awesome!
Completion rate improved to 3.13
Grundlagen der Fehlerbehandlung in Python: Vermeidung von Programmabstürzen
Swipe um das Menü anzuzeigen
Fehlerbehandlung ist eine entscheidende Fähigkeit für jeden Programmierer, da sie es Programmen ermöglicht, angemessen auf unerwartete Probleme zu reagieren. Dieses Kapitel behandelt die Arten von Fehlern und Ausnahmen, auf die Sie stoßen können, sowie deren Behandlung mit den Blöcken try und except.
Arten von Fehlern und Ausnahmen in Python
Python unterteilt Fehler in zwei Hauptkategorien: Syntaxfehler und Ausnahmen.
Syntaxfehler
Syntaxfehler treten auf, wenn der Parser eine fehlerhafte Anweisung erkennt. Dies kann ein Tippfehler, eine fehlende Klammer oder eine falsche Einrückung sein. Hier ein Beispiel:
1print("Hello world"
Dies führt zu einem Syntaxfehler (SyntaxError), da die schließende Klammer fehlt.
Ausnahmen oder Laufzeitfehler
Ausnahmen sind Fehler, die während der Ausführung erkannt werden. Häufige Ausnahmen sind:
- IndexError: Zugriff auf einen nicht vorhandenen Index;
- ValueError: Übergabe eines Arguments mit falschem Wert;
- TypeError: Datentypinkompatibilität, z. B. Addition eines Strings zu einer Ganzzahl;
- ZeroDivisionError: Division einer Zahl durch Null;
- FileNotFoundError: Zugriff auf eine nicht vorhandene Datei.
Hier ist eine Ausnahmeklassen-Hierarchie, bei der jeder Fehler auf niedrigerer Ebene von dem darüberliegenden erbt. Das bedeutet, dass beim Abfangen einer Ausnahme auf höherer Ebene, wie Exception, auch alle davon abgeleiteten 'Kind'-Fehler abgefangen werden. Es ist nicht notwendig, jede einzelne Ausnahme zu kennen, aber die gelb hervorgehobenen sind die gebräuchlichsten und besonders wichtig zu beachten.
Der try-, except-Block
Zur effektiven Behandlung von Ausnahmen verwendet Python die Blöcke try und except. Dadurch kann das Programm auch dann fortgesetzt werden, wenn ein Fehler auftritt.
Beispiel für einen try-, except-Block
1234567try: # Attempt to divide by zero result = 10 / 0 print("The result is", result) except ZeroDivisionError: # This code runs if the ZeroDivisionError is raised print("Attempted to divide by zero.")
Wenn die Division möglich wäre (d. h. durch eine andere Zahl als Null geteilt wird), würde die print-Anweisung im try-Block ausgeführt und der except-Block übersprungen werden. Der except-Block wird nur ausgeführt, wenn der spezifische Fehler, für den er vorgesehen ist, ausgelöst wird.
Swipe to start coding
Schreibe ein Skript, das verschiedene Fehlertypen mit grundlegenden Operationen behandelt.
#Verwende Kommentare als hilfreiche Tipps zur Lösung dieser Aufgabe 😉
Lösung
Danke für Ihr Feedback!
single