Versuchen Sie, Aussagen in Python auszufangen

Versuchen Sie, Aussagen in Python auszufangen
„Beim Schreiben von Code in Python, insbesondere wenn er etwas komplizierter ist, ist es höchstwahrscheinlich auf Fehler. Der Weg zum Schreiben guter Code besteht also darin, diese Fehler geschickt umzugehen. Wir müssen sicherstellen, dass wir diese Fehler reibungslos in einen anderen Weg bringen können. Und so wurde zu diesem Zweck in Python die Versuchserklärung erstellt. Die Versuchserklärung besteht aus einem Try-Block und einem oder mehreren außer Blöcken. In diesem Tutorial lernen wir die Versuchserklärung kennen.”

Versuchen Sie die Anweisung

Die Versuchserklärung sieht ungefähr so ​​aus:

versuchen:
Code
außer Ausnahmename:
Code

Wir haben also die Anweisung aus Try und dann wird Code dort platziert. Dies ist der Hauptcode, den Sie ausführen möchten. Dann gibt es die Ausnahme der Ausnahme mit einem weiteren Satz von Codes, aber dieser Code soll mit der Ausnahme behandelt werden. Python wird versuchen, in erster Linie den gesamten Code in der Anweisung auszuführen. Wenn es keinen Fehler gibt, läuft alles gut und die Ausnahme wird einfach übergeben (übersprungen). Wenn andererseits eine Ausnahme auftritt, prüft Python, um festzustellen. Wenn es übereinstimmt, beginnt es mit der Ausführung des Code der Ausnahme der Ausnahme der Anweisung auszuführen.

Beispiel 1

hauptsächlich.py
versuchen:
y = (2/3)
Druck (y)
Außer ZerodivisionError als Fehler:
print ("Fehler: % s" % Fehler)
Print ("Diese Anweisung liegt außerhalb der Versuchsklausel."))

Ausgang:

0.6666666666666666

Diese Aussage liegt außerhalb der Versuchsklausel.

Vorgang mit dem Ausgangscode 0 abgeschlossen

Hier haben wir also eine Try-Except-Anweisung und dann ein bisschen Code außerhalb des Versuchsblocks. Da wir 2 durch 3 trennen und uns eine gültige Zahl gibt, wird die Aussicht ausgenommen und dann die Ausnahme der Ausnahme umgehen - da es keine ZerodivisionError gibt. Sobald es die Ausnahme der Ausnahme umgeht, setzt es den Rest des Programms fort und endet reibungslos. Der Punkt dieses Beispiels ist zu zeigen, dass die Ausnahme der Ausnahme umgangen werden kann.

Beispiel #2

hauptsächlich.py
versuchen:
y = (2/0)
Druck (y)
Außer ZerodivisionError als Fehler:
print ("Fehler: % s" % Fehler)

Ausgang:

Fehler: Aufteilung von Null

Vorgang mit dem Ausgangscode 0 abgeschlossen

In diesem Fall versuchen wir im Try -Block, 2 durch 0 zu teilen und Y den Wert zuzuweisen. Wie Sie vielleicht wissen oder nicht wissen, können Sie einfach nicht durch 0 teilen, daher gibt es hier ein kleines Problem. Da wir uns mit Fehlern geschickt befassen möchten, haben wir beschlossen, einen Ausnahmenamen von ZeroDIVisionError zu schreiben. Was dies bewirkt, ist NerodivisionError zu fangen oder mit anderen Worten auf Null -Fehler aufzutragen und den Fehler auszudrucken. Also, was bekommen wir? Eine Aussage, dass Sie einfach nicht durch Null teilen können. Aber der Punkt ist, dass unser Programm nicht zum Absturz gebracht wurde! Es zeigte stattdessen auf den Fehler.

Beispiel #3

hauptsächlich.py
versuchen:
Datei = "Datei.txt"
F = Öffnen (Datei, 'r')
Druck (f.lesen())
Außer ZerodivisionError als Fehler:
Druck (Fehler)
Außer SyntaxError als Serror:
drucken (Serror)
Außer FilenotFoundError als Ferror:
Druck (Ferror)

Ausgang:

[Errno 2] Keine solche Datei oder Verzeichnis: 'Datei.txt'

Vorgang mit dem Ausgangscode 0 abgeschlossen

Der Punkt dieses Beispiels ist einfach - Sie können so viele Ausnahmen aufschreiben, wie Sie möchten. Wenn Sie der Meinung sind, dass es einen FilenotFoundError geben könnte, fügen Sie ihn der Liste der Fehler hinzu. Dies bedeutet, dass Python, wenn versucht, den Try Block auszuführen. Seit dem letzten passt es den Ferror oder den FilenotFoundError aus.

Beispiel #4

In diesem Fall werden wir uns ein Beispiel ansehen, das dieses Format ansieht:

versuchen:
Codesatz 1
Codesatz 2
außer ExceptionName1:
Codesatz 3
außer ExceptionName2:
Codesatz 4
außer ExceptionName3:
Code festgelegt 5 Haupt.py
versuchen:
Datei = "Datei.txt"
F = Öffnen (Datei, 'r')
Druck (f.lesen())
y = (2/0)
Druck (y)
Außer ZerodivisionError als Fehler:
Druck (Fehler)
Außer SyntaxError als Serror:
drucken (Serror)
Außer FilenotFoundError als Ferror:
Druck (Ferror)

Ausgang:

[Errno 2] Keine solche Datei oder Verzeichnis: 'Datei.txt'

Vorgang mit dem Ausgangscode 0 abgeschlossen

In diesem speziellen Beispiel haben wir zwei Fehler. Beachten Sie jedoch, wie der erste Fehler der FilenotFoundError ist. Also, was macht Python?? Es wird begonnen. Hier wird der zweite Fehler weggelassen, und wir bekommen keine ZerodivisionseRror.

Beispiel Nr. 5

hauptsächlich.py
versuchen:
x = '9'
Wenn x> 6:
drucken (x/6)
Außer ZerodivisionError als Fehler:
Druck (Fehler)
außer:
print ("ein anderer Fehler")

Ausgang:

Ein anderer Fehler

Vorgang mit dem Ausgangscode 0 abgeschlossen

In diesem Beispiel gab es also ein Typeerror, da Sie> zwischen einer Zeichenfolge und einer Ganzzahl nicht verwenden können. Der Try -Block wird also versucht, und wenn er dem Typfehler ausgesetzt ist. Mit anderen Worten, wenn Sie Fehler aufnehmen möchten und ihre Namen nicht kennen, können Sie den Teil des Ausnahmenamens leer lassen.

Der Punkt dieses Beispiels ist, dass Sie die Ausnahme der Ausnahme verwenden können, ohne einen Fehler zu benennen, und sie sollte theoretisch einen geworfenen Fehler aufnehmen, aber es wird nicht empfohlen! Mit anderen Worten, nur ohne Ausnahmamen zu verwenden, wird nicht wirklich empfohlen.

Abschluss

Die Aussageerklärung der Versuch ist ein Segen für alle Programmierer, die Python verwenden. Die Versuchserklärung besteht aus zwei oder mehr Blöcken. Der erste Block ist immer der Block für Try -Anweisungen, der mit Code gefüllt ist. Danach können Sie einen oder mehrere außer Blöcken hinzufügen, um sehr bestimmte Fehler zu fangen. Normalerweise müssen Sie auch der Ausnahme der Ausnahme einen Namen zuweisen (z. B. außer ZeroDiVisionError). Wenn Sie jedoch nicht wissen, auf welche Fehler Sie auftreten werden, können Sie es leer lassen (Beispiel: außer). In beiden Fällen wissen die besten aller Programmierer, dass sie keine Fehler machen und daher weniger als Blöcke verwenden, sondern jeweils ihren Geschmack. Verwenden Sie also die Versuchserklärung mit Bedacht. Vergessen Sie nicht, dass Programmierung Fähigkeiten impliziert.

Glückliche Codierung!