Wie man alle Ausnahmen in Python fängt

Wie man alle Ausnahmen in Python fängt
Programmierer klassifizieren Ausnahmen häufig als Codefehler, die zu Fehlern führen, wenn das Programm ausgeführt wird. Ausnahmen stellen Fehler dar, die als Ergebnis eines Skripts stattfinden. Einige Programmierer können immer noch nicht den Unterschied zwischen Fehlern und Ausnahmen erkennen. Die Mehrheit dieser Fehler scheint logisch zu sein. In Python werden Ausnahmen mit einer einfachen Logik gefangen. Immer wenn ein Python -Dolmetscher auf eine Ausnahme trifft, beendet er den Workflow. Es wird durch die Anrufverfahren behandelt. Die Software stürzt ab, wenn dies nicht erledigt ist. Um zwischen Fehlern und Ausnahmen zu unterscheiden, gab es zwei Kategorien von Fehlern zu berücksichtigen:
  • Syntaxfehler
  • Logische Fehler (Ausnahmen)

Syntax-Fehler

Um die Arbeit des logischen Fehlers zu sehen, müssen wir zuerst das Beispiel des Syntaxfehlers durchstehen. Öffnen Sie das Shell -Anschluss mit "Strg+Alt+T" von der Tastatur mit "Strg+Alt+T". Nach dem Öffnen der Shell erstellen wir eine neue Python -Datei. Um eine Datei zu erstellen, schreiben.

$ Touch Test.py

Öffnen wir die Datei “Test.Py “aus Ihrem örtlichen Heimverzeichnis, indem Sie es doppelt tippen. Nachdem die Datei geöffnet wurde, schreiben Sie den folgenden Code so, wie sie ist. Sie müssen diesen Code zuerst verstehen. Wir haben Python-Support hinzugefügt. Danach haben wir eine Wörterbuchvariable „Alter“ initialisiert, um zwei Schlüssel mit zwei Werten hinzuzufügen. Wir haben kein Komma zwischen beiden Schlüsseln hinzugefügt. Dies wird unser Syntaxfehler auf der Laufzeit sein. Danach haben wir den Schlüssel „AQSA“ und seinen Wert aus dem Wörterbuch gedruckt. Speichern Sie Ihre Datei mit Strg+S und klicken Sie auf die Schaltfläche Cross, um sie zu verlassen.

Führen wir unsere Datei per Python3 -Version wie unten aus. Das Ausgabebild zeigt den Syntaxfehler mit der Aufschrift: Ungültige Syntax, da das Komma in der Anweisung fehlt. Sie können sehen, dass es keinen logischen Fehler gibt.

$ python3 Test.py

Lassen Sie uns den Code schnell aktualisieren, indem Sie ein Komma in der Anweisung hinzufügen, um Syntaxfehler zu verhindern. Speichern Sie diesen Code und schließen Sie ihn über das Kreuzzeichen von der rechten Seite des Fensters.

Führen wir unsere Datei erneut aus, um das Ergebnis durch Python3 -Version anzuzeigen. Die Ausgabe des folgenden Snapshots zeigt die richtige Ausgabe ohne Syntax oder logische Fehler an.

$ python3 Test.py

Logische Fehler

Logische Fehler sind jene Ausnahmen, die zu einer Laufzeit aufgrund eines logischen Fehlers in unserem Code auftreten. Zu Beginn dieses Handbuchs haben wir erwähnt, dass alle Ausnahmen gleichzeitig gefangen werden. Um dieses Konzept zu verstehen, müssen wir uns zunächst schnell ansehen, um eine Ausnahme nach dem anderen zu fangen. Öffnen Sie daher das Shell -Terminal und konvertieren Sie es in das Python3 -Codeformat, um Python mit der folgenden Abfrage zu verwenden, wie im Bild gezeigt.

$ python3

Jetzt ist das Terminal zum Codieren bereit. Fügen Sie eine Anweisung hinzu, die einen logischen Fehler darin anzeigt. Nehmen wir an, wir haben "2/0" hinzugefügt, was in der Mathematik nicht möglich ist. Dies sollte also einen logischen Fehler werfen. Geben Sie es auf Shell ein und drücken Sie die Eingabetaste. Die Ausgabe zeigt den „ZerodivisionError“, da alles, was durch Null geteilt wird, keine Antwort zurückgeben kann.

>>> 2/0

Nehmen wir ein weiteres Beispiel dafür, eine einzige Ausnahme auf dem Terminal zu fangen. Öffnen Sie eine Datei, die nicht einmal im aktuellen lokalen Verzeichnis von Linux erstellt oder gefunden wurde wie unten. Es wird eine Ausnahme von FilenotFoundError zur Laufzeit auswerfen, da in unserem System keine solche Datei vorhanden ist.

>>> offen (“zwei.txt")

Beispiel: Catch-All-Ausnahmen

Endlich! Es ist Zeit, alle Ausnahmen an einem Ort zu erhalten. Öffnen Sie daher den Python -Dateitest.PY aus Ihrem aktuellen Heimverzeichnis des Linux -Systems. Schreiben Sie nun den angezeigten Code angezeigt. Dieser Code enthält eine Liste „L“ mit verschiedenen Arten von Elementen darin. Wir haben eine „für“ -Schloop verwendet, um jeden Wert aus der Liste zu erhalten und eine Versuchsanweisung darauf anzuwenden. In der Anweisung Try wird das Element zunächst aus der Liste drucken. In der nächsten Zeile werden dieses Element zuerst in Ganzzahl-Type umwandelt und dann 1 mit diesem konvertierten Element teilen. Danach haben wir die Ausnahme der Ausnahme verwendet, die den Ausnahmamen aufgrund der Anweisung „Try“ unter Verwendung eines SYS erden.Esc_info () Methode. Eine andere Zeichenfolge wird ausgedruckt, und nach der "außer" -serklärung ist die Körper. Drücken Sie Strg+S, um Ihre Datei zu speichern, und drücken Sie auf der Kreuzung, um sie schnell zu schließen. Öffnen Sie nun das Terminal, um die Arbeit unseres Codes zu sehen.

Führen Sie die Abfrage unten aus, um diese Datei auszuführen. Die Ausgabe zeigt das Ergebnis der Druckanweisung „Das Ergebnis wird in der Anweisung„ Try “für jedes Listenelement verwendet. Da die ersten beiden Elemente der Liste String- und MultityPE -Variablen sind, kann die Teilung nicht auftreten. Dies führt zu unterschiedlichen Fehlern. Der erste Wert "Ausnahme" wurde ausgeführt und zeigt die Namen von Fehlern anhand des SYS an.exc_info () Methode. Aufgrund der Ausnahme wird die dritte Druckanweisung aus der Klausel "Ausnahme" für beide ersten beiden Elemente der Liste ausgeführt. Sie können jedoch in der Ausgabe sehen, dass das Ergebnis für den dritten Wert keine Ausnahme ausführt. Dies liegt daran, dass das dritte Element der Liste eine Ganzzahl ist und es perfekt durch 1 geteilt werden kann. Die Ausnahme der Ausnahme wurde in diesem Fall nicht ausgeführt; Somit wurde die Kontrolle der äußersten Druckanweisung gegeben und gibt den resultierenden Wert aus, der von der Abteilung erzeugt wird.

Abschluss

Wir haben in diesem Artikel Syntax- und logische Fehler behandelt. Am wichtigsten ist, dass wir die Methode erörtert haben, um alle Ausnahmen in unserem Artikel über das „SYS) zu fangen.exc_info () ”Methodenverbrauch.