Ausnahmebehandlung in Python mit Try – Except – Else – finally
- Home
- Tutorials
- Python
- Werde zum fortgeschrittenen Python Entwickler in 4 Wochen
- Ausnahmebehandlung in Python mit Try – Except – Else – finally
Dieses Video ist nicht verfügbar
Dieses Video steht nur eingeschriebenen Nutzern zur Verfügung.
Jetzt Kurs kaufenAusnahmebehandlung in Python
Die Ausnahmehandlung ermöglicht es uns, unseren Code stabiler zu gestallten und unser Programm vor Abstürzen zu schützen. Niemand mag Programme die dauernd abstürzen, oder noch schlimmer, das ganze System zum Abstürzen bringen.
Beginnen wir mit einem simplen Beispiel:
print 'hallo
ERROR
Du erhältst also einen Fehler. Wie können wir dafür sorgen, dass unser Programm trotz Fehler nicht abstürzt?
try und except in Python
Dazu können wir try (versuche) und except (Ausnahme) verwenden. Der Code der zum Absturz führen kann, wird in den Try Block eingefügt, und die Ausnahmen werden in den except block eingefügt.
Syntax für (Exception Handling) Ausnahmebehandlung in Python
try
Hier führst du den Code aus der ausgeführt werden soll.
except Ausnahme1
Falls diese Ausnahme1 eingetroffen ist, führe diesen Code aus,
except Ausnahme2
Falls diese Ausnahme2 eingetroffen ist, führe diesen Code aus,
else
Falls keine der Ausnahmen eingetroffen ist, führe diesen Code aus.
Schauen wir uns das mal anhand eines Beispiels an:
Beispiel für Try-Cath in Python
try:
datei = open('testdatei','w')
datei.write('Versuche das zu schreiben')
except IOError:
# Falls ein input output Fehler aufgetreten ist, wird dieser Code ausgeführt.
print "Error: Die Datei konnte nicht gefunden oder gelesen werden"
else:
print "Der Schreibvorgang war erfolgreich"
datei.close()
Der Schreibvorgang war erfolgreich
Hierbei versuchen wir eine Datei zu öffnen und diese zu beschreiben.
Was aber, wenn wir keine Schreibrechte hatten?
try:
datei = open('testdatei','r')
datei.write('Versuche das zu schreiben')
except IOError:
# Falls ein input output Fehler aufgetreten ist, wird dieser Code ausgeführt.
print "Error: Die Datei konnte nicht gefunden oder gelesen werden"
else:
print "Der Schreibvorgang war erfolgreich"
datei.close()
Error: Die Datei konnte nicht gefunden oder gelesen werden
Super, obwohl nun ein Fehler aufgetreten ist, ist unser Programm nicht abgestürzt und hat ganz einfach seine Arbeit erledigt.
Das war hier relativ einfach, weil wir genau wissen, dass der Fehler der auftreten kann, ein IOERROR werden würde. Was aber wenn wir nicht wissen, welche Art von Fehler wir erhalten. Dann können wir auch einfach except eintragen, ohne den zugehörigen Fehler.
try:
datei = open('testdatei','r')
datei.write('Versuche das zu schreiben')
except:
# Falls ein input output Fehler aufgetreten ist, wird dieser Code ausgeführt.
print "Error: Die Datei konnte nicht gefunden oder gelesen werden"
else:
print "Der Schreibvorgang war erfolgreich"
datei.close()
Error: Die Datei konnte nicht gefunden oder gelesen werden
Finally in Python
try:
# Hier gibst du den Code ein der ausgeführt werden soll
except Ausnahme1:
# Falls diese Ausnahme1 eingetroffen ist, führe diesen Code aus
except Ausnahme2:
# Falls diese Ausnahme2 eingetroffen ist, führe diesen Code aus
else
# Falls keine der Ausnahmen eingetroffen ist, führe diesen Code aus
finally:
# Dieser Codeblock wird ausgeführt, egal ob ein Fehler aufgetreten ist, oder nicht
Beispiel für Finally in Python
try:
datei = open('testdatei','r')
datei.write('Versuche das zu schreiben')
finally:
print "Geklappt oder nicht, ist mir egal. Ich werde ja dennoch ausgeführt"
Geklappt oder nicht, ist mir egal. Ich werde ja dennoch ausgeführt.
IOError: File not open for writing
Du siehst also, es gibt verschiedene Möglichkeiten mit Fehlern umzugehen. Wir werden uns auch später noch mit Fehlern und dem Umgang mit ihnen beschäftigen.
Werde zum fortgeschrittenen Python Entwickler in 4 Wochen
-
Kursübersicht
-
Lektion1.1
-
Lektion1.2
-
Lektion1.3
-
-
Python Installation
-
Lektion2.1
-
Lektion2.2
-
Lektion2.3
-
-
Python Datenstrukturen
-
Lektion3.1
-
Lektion3.2QUIZ: Zahlen und Variablen
-
Lektion3.3
-
Lektion3.4QUIZ: Mathematische Operatoren
-
Lektion3.5
-
Lektion3.6QUIZ: Strings
-
Lektion3.7
-
Lektion3.8
-
Lektion3.9
-
Lektion3.10QUIZ: Listen
-
Lektion3.11
-
Lektion3.12QUIZ: Sets
-
Lektion3.13
-
Lektion3.14QUIZ: Tuples
-
Lektion3.15
-
Lektion3.16QUIZ: Dictionaries
-
Lektion3.17
-
Lektion3.18QUIZ: Booleans und logische Operatoren
-
-
Anweisungen und Schleifen
-
Lektion4.1
-
Lektion4.2QUIZ: If- und Else-Statements
-
Lektion4.3
-
Lektion4.4
-
Lektion4.5
-
Lektion4.6
-
Lektion4.7
-
Lektion4.8QUIZ: Schleifen
-
-
Funktionen und Module
-
Lektion5.1
-
Lektion5.2
-
Lektion5.3
-
Lektion5.4Übungsaufgabe zu Benutzereingabe
-
Lektion5.5
-
Lektion5.6
-
Lektion5.7
-
Lektion5.8
-
Lektion5.9
-
Lektion5.10QUIZ: Funktionen
-
-
Mit Dateien arbeiten
-
Lektion6.1
-
Lektion6.2
-
-
Regular Expressions
-
Lektion7.1
-
Lektion7.2
-
-
Objekt Orientierte Programmierung Grundlagen
-
Lektion8.1
-
Lektion8.2
-
Lektion8.3
-
Lektion8.4QUIZ: Klassen und Objekte
-
Lektion8.5
-
Lektion8.6QUIZ: Vererbung
-
-
Eingebaute Funktionen
-
Lektion9.1
-
Lektion9.2
-
Lektion9.3
-
Lektion9.4
-
Lektion9.5
-
Lektion9.6Übungsaufgabe Primzahlen bestimmen
-
Lektion9.7
-
Lektion9.8
-
-
Dekoratoren
-
Lektion10.1
-
Lektion10.2
-
-
Fortgeschrittene Objekte und Datenstrukturen
-
Lektion11.1
-
Lektion11.2
-
Lektion11.3
-
Lektion11.4Übungsaugsaufgabe Warteschlange
-
Lektion11.5
-
Lektion11.6
-
Lektion11.7QUIZ: Teste dein bisheriges Wissen
-
-
Fortgeschrittene Module in Python
-
Lektion12.1
-
Lektion12.2
-
Lektion12.3
-
Lektion12.4
-
Lektion12.5
-
Lektion12.6
-
-
GUI - Benutzeroberfläche
-
Lektion13.1
-
Lektion13.2
-
Lektion13.3
-
Lektion13.4
-
Lektion13.5
-
Lektion13.6
-
Lektion13.7
-
Lektion13.8
-
Lektion13.9
-
Lektion13.10Übungsaufgabe zu GUI und Canvas
-
Lektion13.11
-