Python-Try-Except

try Der Block ermöglicht es Ihnen, Codeblöcke zu testen, um Fehler zu finden.

except Der Block ermöglicht es Ihnen, Fehler zu behandeln.

finally Der Block ermöglicht es Ihnen, Code auszuführen, unabhängig davon, wie das Ergebnis des try- und except-Blocks ist.

Fehlerbehandlung

Wenn wir Python aufrufen und ein Fehler oder eine Ausnahme auftritt, wird normalerweise gestoppt und eine Fehlermeldung generiert.

Man kann try Diese Anweisung behandelt diese Ausnahmen:

Beispiel

Der try-Block wird eine Ausnahme erzeugen, weil x nicht definiert ist:

try:
  print(x)
except:
  print("Ein Ausnahmevorgang ist aufgetreten")

Laufender Beispiel

Da ein Fehler im try-Block aufgetreten ist, wird der except-Block ausgeführt.

Wenn kein try-Block vorhanden ist, wird das Programm abstürzen und einen Fehler auslösen:

Beispiel

Dieser Ausdruck wird einen Fehler auslösen, weil x nicht definiert ist:

print(x)

Laufender Beispiel

Multiple Ausnahmen

Sie können so viele exception-Blöcke wie nötig definieren, z.B., wenn Sie spezielle Codeblöcke für spezielle Fehlerarten ausführen möchten:

Beispiel

Wenn ein try-Block einen Fehler auslöst NameErrordann wird eine Nachricht ausgegeben, und bei anderen Fehlern eine andere Nachricht:

try:
  print(x)
except NameError:
  print("Die Variable x ist nicht definiert")
except:
  print("Etwas anderes ist schiefgelaufen")

Laufender Beispiel

Else

Wenn kein Fehler aufgetreten ist, können Sie else Schlüsselwörter, um einen Codeblock zu definieren, der ausgeführt werden soll:

Beispiel

In diesem Beispiel:try Dieser Block erzeugt keine Fehler:

try:
  print("Hallo")
except:
  print("Etwas ist schiefgelaufen")
else:
  print("Nichts ist schiefgelaufen")

Laufender Beispiel

Finally

Wenn angegeben finally Ein Block wird unabhängig davon ausgeführt, ob ein Fehler im try-Block aufgetreten ist oder nicht.

Beispiel

try:
  print(x)
except:
  print("Etwas ist schiefgelaufen")
finally:
  print("Der 'try except' ist beendet")

Laufender Beispiel

Das ist sehr nützlich, um Objekte zu schließen und Ressourcen zu bereinigen:

Beispiel

Versuchen Sie, eine nicht schreibbare Datei zu öffnen und zu schreiben:

try:
  f = open("demofile.txt")
  f.write("Lorum Ipsum")
except:
  print("Etwas ist beim Schreiben in die Datei schiefgelaufen")
finally:
  f.close()

Laufender Beispiel

Das Programm kann fortgesetzt werden, und der Dateiobjekt wird nicht geöffnet.

Ausnahme auslösen

Als Python-Entwickler können Sie wählen, ob Sie eine Ausnahme auslösen möchten, wenn eine Bedingung eintritt.

Um eine Ausnahme auszulösen, verwenden Sie raise Schlüsselwörter.

Beispiel

Wenn x kleiner als 0 ist, wird eine Ausnahme ausgelöst und das Programm wird beendet:

x = -1
if x < 0:
  raise Exception("Entschuldigung, keine Zahlen unter Null")

Laufender Beispiel

raise Schlüsselwörter zur Auslösung von Ausnahmen.

Sie können den Typ der ausgelösten Ausnahme und den Text, der dem Benutzer gezeigt wird, definieren.

Beispiel

Wenn x kein Integer ist, wird TypeError ausgelöst:

x = "hello"
if not type(x) is int:
  raise TypeError("Nur Ganzzahlen sind erlaubt")

Laufender Beispiel