Python -Ausnahme

Python -Ausnahme

Eine Ausnahme ist ein Ereignis, das während der Ausführung eines Programms zur Beendigung oder Änderung des normalen Flusses eines Programms auftritt. Ein Fehler zum Beispiel erhebt eine Ausnahme. Wie andere Programmiersprachen enthält Python viele integrierte Ausnahmen. Diese Ausnahmen werden angesprochen, wenn ein Fehler auftritt, wenn das Programm ausgeführt wird. Die Art des Fehlers bestimmt, welche Ausnahme angehoben werden soll. Wenn eine Ausnahme eintritt, prüft der Python -Dolmetscher, ob die Ausnahme behandelt wird. Wenn nicht, beendet es das Programm. In diesem Artikel werden Ausnahmen in Python anhand verschiedener Beispiele erläutert.

Eingebaute Python-Ausnahmen

Wie bereits erwähnt, verfügt Python über viele integrierte Ausnahmen, die bei einem Fehler während der Ausführung eines Programms erhoben werden. Jede Ausnahme stammt aus einer „Ausnahme“ -Basisklasse. Das Folgende umfasst einige integrierte Python-Ausnahmen sowie eine kurze Beschreibung jedes Ausnahmetyps:

Ausnahme Beschreibung
Ausnahme Jede Ausnahme stammt aus dieser Klasse.
Importeur Diese Ausnahme wird angesprochen, wenn ein bestimmtes Modul importiert wird und nicht gefunden wird.
EoFerror Dies ist die Ausnahme des Dateiends. Diese Ausnahme tritt auf, wenn das Ende der Datei erreicht ist.
NulodivisionError Diese Ausnahme wird erhöht, wenn eine Zahl durch Null geteilt wird.
KeyError Diese Ausnahme wird angesprochen, wenn ein bestimmter Schlüssel, der nicht in einem Wörterbuch definiert ist, angegeben oder verwendet wird.
IndexError Diese Ausnahme wird erhöht, wenn der Zugriff auf einen Sequenzindex, der nicht im Bereich liegt, versucht wurde.
SchwimmendemPointerror Diese Ausnahme wird erhöht, wenn eine Gleitkommaoperation fehlgeschlagen ist.

Dies sind einige der integrierten Ausnahmen in Python. Bitte besuchen Sie die offizielle Dokumentation, um weitere Informationen zur Verwendung integrierter Ausnahmen in Python unter https: // docs zu verwenden.Python.org/3/Bibliothek/Ausnahmen.html.

Ausnahmeverbrauch in Python

Ausnahmen in Python werden unter Verwendung der Versuchserklärung behandelt. Das Code -Stück, das eine Ausnahme auswerfen oder steigern kann, wird in einem Try -Block implementiert. Neben dem Try -Block wird ein Block implementiert, um die Ausnahme zu behandeln. Im Ausnahmeberaum fangen wir die Ausnahme an und entscheiden, welche Operation erledigt werden soll, wenn wir auf diese bestimmte Ausnahme stoßen. Die Syntax des Schreibens des Versuchs, außer Blocks zu schreiben, lautet wie folgt:

versuchen:
Führen Sie den Vorgang oder die Funktion durch
außer:
Funktionalität, um die Ausnahme zu behandeln

Jetzt werden wir einen einfachen Code in unserem Python -Skript unter Verwendung der Versuche außer Blocks implementieren.

Hier drucken wir eine "Name" -Variable, die nicht definiert ist. Dies bringt eine Ausnahme im Ausnahme der Block.

#implementieren Sie den Try -Block
versuchen:
Druck (Name)
#implementieren Sie den Ausnahme von Block
außer:
drucken ("Eine Ausnahme ist aufgetreten")

Ausgang

Wenn keine Ausnahme eintritt, wird nur der Try -Block ausgeführt. In der Ausnahme des Blocks wird eine Erklärung gedruckt, dass eine Ausnahme aufgetreten ist.

Schauen wir uns ein anderes Beispiel an, in dem wir die Namensvariable definieren:

#Definieren Sie die Namensvariable
name = "mark" "
#implementieren Sie den Try -Block
versuchen:
Druck (Name)
#implementieren Sie den Ausnahme von Block
außer:
drucken ("Eine Ausnahme ist aufgetreten")

Ausgang

Im obigen Beispiel wird der Try -Block ausgeführt und der Außer Block wird übersprungen, da das Programm keine Ausnahmen erhöht. Wir können so viele außer Blöcken in unserem Programm definieren, wie wir es wollen. Jeder außer Block behandelt eine bestimmte Art von Ausnahme.

#implementieren Sie den Try -Block
versuchen:
Druck (Name)
#implementieren Sie den Ausnahme von Block, um den Namensfehler zu fangen
außer nameError:
print ("Die Variable ist nicht definiert")
#implementieren Sie den Ausnahme von Block
außer:
print ("Etwas anderes als Namensfehler schief")

Ausgang

In Python ist die Ausnahme die Basisklasse für alle Ausnahmen. Anstatt den Namen einer bestimmten Ausnahme in den außer Block zu schreiben, können wir einfach „Ausnahme“ schreiben und jede Art von Ausnahme auf diese Weise fangen.

#implementieren Sie den Try -Block
versuchen:
Druck (Name)
#implementieren Sie den Außer Block, um den Fehler zu fangen
außer Ausnahme als Exp:
Druck (exp.__Klasse__)
#implementieren Sie den Ausnahme von Block
außer:
print ("Etwas anderes als Namensfehler schief")

Ausgang

Die Exp.__CLASS__ gibt den Namen der Ausnahmeklasse zurück.

Lassen Sie uns in ähnlicher Weise ein Beispiel für die Klasse „ZerodiVisionError“ betrachten.

#implementieren Sie den Try -Block
versuchen:
x = 1/0
Druck (x)
#implementieren Sie den Außer Block, um den Fehler zu fangen
außer Ausnahme als Exp:
Druck (exp.__Klasse__)
#implementieren Sie den Ausnahme von Block
außer:
print ("Etwas anderes als Namensfehler schief")

Ausgang

Der sonst block

Der sonstige Block wird mit den Versuchsblöcken verwendet. Der else -Block definiert einen Code, der ausgeführt wird, wenn der Try -Block erfolgreich ausgeführt wird und kein Fehler auftritt. Manchmal müssen Sie möglicherweise eine Nachricht drucken oder eine Funktion ausführen, wenn der Try -Block erfolgreich ausgeführt wurde. Aus diesem Grund können wir den else -Block mit dem Versuch implementieren und außer Blöcken.

In diesem Beispiel werden wir den anderen Block in unserem Python -Skript implementieren.

#implementieren Sie den Try -Block
versuchen:
x = 1/2
Druck (x)
#implementieren Sie den Außer Block, um den Fehler zu fangen
außer Ausnahme als Exp:
Druck (exp.__Klasse__)
#implementieren des elendlichen Blocks
anders:
drucken ("Alles ist gut gelaufen")

Ausgang

Der else -Block wird nach der erfolgreichen Ausführung des Try -Blocks ausgeführt.

Sehen wir uns nun ein anderes Beispiel mit dem Else -Block an.

#implementieren Sie den Try -Block
versuchen:
name = "mark" "
#implementieren Sie den Außer Block, um den Fehler zu fangen
außer Ausnahme als Exp:
Druck (exp.__Klasse__)
#implementieren des elendlichen Blocks
anders:
print ("Der Name ist:", Name)

Ausgang

Im obigen Beispiel wird die Namensvariable im Try -Block definiert und im else -Block gedruckt.

Der endgültige Block

Der Endlich Block enthält den Code, der ausgeführt werden muss, unabhängig davon, ob der Try -Block eine Ausnahme hervorruft. Der endgültige Block ist optional und wird mit dem Try -Block deklariert. Wenn wir beispielsweise eine Textdatei geöffnet haben, um den Try -Block zu lesen, und einen Fehler oder eine Ausnahme erhöht, ist es besser, die Datei in den schließlich Block einzuschließen, auch wenn der Fehler auftritt. Lassen Sie uns den endgültigen Block in unserem Python -Skript implementieren.

#implementieren Sie den Try -Block
versuchen:
print (my_dict)
#implementieren Sie den Außer Block, um den Fehler zu fangen
außer Ausnahme als Exp:
Druck (exp.__Klasse__)
#implementieren des endgültigen Blocks
Endlich:
print ("Dies ist der endgültige Block")
drucken ("Der endgültige Block wird ausgeführt")

Ausgang

In der Ausgabe ist ersichtlich, dass der Try -Block eine Ausnahme aufwirft. Der endgültige Block wird jedoch am Ende ausgeführt.

Lassen Sie uns nun eine Textdatei im Try -Block öffnen, die eine Ausnahme ausschüttet, während die Datei im endgültigen Block eingeschlossen ist.

#implementieren Sie den Try -Block
versuchen:
fileObj = open ("Mystudent.xml "," r ")
fileObj.suchen (-2)
print (fileObj.Readlines ())
#implementieren Sie den Ausnahme von Block
außer Ausnahme als Exp:
Druck (exp.__Klasse__)
#implementieren des endgültigen Blocks
Endlich:
fileObj.schließen()
print ("Datei ist erfolgreich geschlossen")

Ausgang

Wie Sie sehen können, wurde die Datei unabhängig vom Wertfehler erfolgreich im endgültigen Block geschlossen.

Erhöhen Sie eine Ausnahme

Obwohl Ausnahmen automatisch angesprochen werden, wenn ein Fehler auftritt, können Sie in Python auch Ausnahmen manuell erhöhen. Der heben Das Schlüsselwort wird verwendet, um die Ausnahme zu erhöhen oder auszuwerfen.

Wir werden nun einige Ausnahmen mit dem Keyword erhöhen. Im folgenden Beispiel wird die IF-Bedingung implementiert, um nicht negative Zahlen zu überprüfen. Wenn keine negativen Zahlen vorhanden sind, wird die Ausnahme „Nicht negative Zahlen nicht zulässig“ erhöht.

#zwei Zahlenvariablen deklarieren
Num1 = 20
Num2 = -10
if ((num1<0) | (num2<0)):
Ausnahme erhöhen ("Nicht negative Zahlen sind nicht zulässig")
anders:
print (num1+num2)

Ausgang

Abschluss

Eine Ausnahme tritt als Reaktion auf einen Fehler zur Laufzeit auf. In Python können wir mit Ausnahmen handhaben, indem wir den Versuch verwenden, außer Blöcken. In diesem Artikel wurde erläutert, wie Ausnahmen in Python an verschiedenen Beispielen verwendet werden können.