Python Try Except Funktion mit Beispiel erklärt

Veröffentlicht: 2021-11-22

Die Programmierung spielt eine wesentliche Rolle bei der Durchführung verschiedener Aufgaben in der Neuzeit. Ob in der Forschung oder in wirtschaftlichen Bereichen, die Anwendung der Programmierung ist überall zu sehen. Python ist eine solche Programmiersprache, die im täglichen Leben fast aller Menschen weit verbreitet ist. Dies hängt natürlich von den Programmen ab, die entwickelt und ausgeführt werden. Ob maschinelles Lernen, Webentwicklung, Softwareentwicklung oder andere Bildungsprogramme, Programmierer wenden hauptsächlich Python an.

Bei jedem Programm, das entwickelt wurde, besteht jedoch die Möglichkeit, dass manchmal Fehler damit verbunden sind. Diese Fehler können benutzerdefiniert oder einige Standardwerte innerhalb des Programms selbst sein. Auch ein in der Programmiersprache Python geschriebenes Programm kann beendet werden, wenn es irgendeine Form von Fehler im Code entdeckt. Der Artikel beschreibt die Ausnahmen, die bei der Python-Programmierung auftreten, und wie sie durch die Verwendung der Try-and-Except-Funktion behandelt werden. Bei der Python-Programmierung treten hauptsächlich zwei Arten von Fehlern auf, nämlich Syntaxfehler und Ausnahmen.

Inhaltsverzeichnis

Ausnahmen und Syntaxfehler

Eine der häufigsten Formen von Python-Fehlern sind Syntaxfehler. Diese werden auch als Parsing-Fehler bezeichnet. Ein kleiner Pfeil wird verwendet, um auf den Fehler durch den Parser hinzuweisen.

Die andere Form von Fehlern sind die Ausnahmen in Python. Es gibt Fälle, in denen die Syntax des Programms gleich bleibt, aber bestimmte Fehler auftreten, wenn das Programm ausgeführt wird. Diese Fehler, die bei der Ausführung erkannt werden, werden als Ausnahmen bezeichnet.

Einige Beispiele für Ausnahmefehler sind unten aufgeführt:

1. Tastaturunterbrechung:

Diese Art von Fehler tritt immer dann auf, wenn die Benutzereingabe durch unerwünschtes Drücken von Tasten auf der Tastatur unterbrochen wird. Die Taste wird meistens nicht benötigt und wird versehentlich vom Benutzer gedrückt.

2. IOFehler

Manchmal gibt es Fälle, in denen Sie eine Datei nicht öffnen können, und diese Ausnahmen sind solchen Fällen zugeordnet.

3. Importfehler

Wann immer das Python-Programm das Modul nicht finden kann, treten solche Arten von Ausnahmen auf.

4. EOFFehler:

Ohne das Lesen von Daten treten solche Arten von Ausnahmen auf, wenn das Ende der Datei erreicht wird.

5. WertFehler

Die Ausnahmen sind den integrierten Funktionen zugeordnet. Immer wenn solche Funktionen ein falsches Argument erhalten, treten diese Ausnahmen auf.

Das Auftreten von Syntaxfehlern liegt in der Erkennung fehlerhafter Anweisungen im Python-Programm. Hier ist ein Beispiel, um die Generierung von Syntaxfehlern zu zeigen:

>>> drucken( 0 / 0 ))

Datei „<stdin>“, Zeile 1

drucken( 0 / 0 ))

^

SyntaxError: Ungültige Syntax

Es kann beobachtet werden, dass es im obigen Programm einen Pfeil gibt, der die Stelle anzeigt, an der der Parser den Fehler entdeckt hat. Außerdem gibt es zwei Klammern im Code, was zu einer falschen Syntax führt. Daher gab es einen Syntaxfehler. Sie können die Klammer entfernen und den Code erneut ausführen.

Wenn Sie das Programm nach dem Entfernen der Klammer ausführen, wird jetzt eine Ausnahme von „ZeroDivisionError“ angezeigt. Dies liegt daran, dass die Syntax des Codes korrekt ist, aber dennoch ein Fehler vorliegt. Diese Art von Fehlern, die aus korrektem Syntaxcode resultieren, werden als Ausnahmen bezeichnet.

Das Programm führt zu einer Zeile „ZeroDivisionError: integer division or modulo by zero.“ Dies ist die letzte Zeile des Programms und zeigt, welche Ausnahmen das Programm generiert. Sie können feststellen, dass Python nicht nur Ausnahmefehler erwähnt; Stattdessen wird der Ausnahmetyp erläutert und angezeigt.

Behandlung von Ausnahmen durch die Try-Except-Klausel

Das Konzept der Ausnahmebehandlung in Python wird als Ausnahmebehandlung bezeichnet. Es können Programme geschrieben werden, die bestimmte Arten von Ausnahmen behandeln können. Ein Beispiel für die Behandlung von Ausnahmen ist in der folgenden Abbildung dargestellt:

Der obige Code stammt von https://docs.python.org/3/tutorial/errors.html .

Im obigen Programm wird der Benutzer aufgefordert, eine gültige Ganzzahl als Eingabe einzugeben. Anstelle einer gültigen Ganzzahl gab es jedoch eine Unterbrechung auf der Benutzerseite. Immer wenn eine solche Art von Benutzerunterbrechung auftritt, wird vom Python-Programm eine Art Ausnahme ausgelöst, die die Ausnahme von „KeyboardInterrupt“ ist.

Die Python-Trys-Außer-Blöcke werden verwendet, um die in einem Python-Programm auftretenden Ausnahmen abzufangen und zu behandeln. Der Code, der unterhalb der try-Anweisung steht, wird als normales Programm ausgeführt. Gleichzeitig ist das Programm, das in der except-Anweisung vorhanden ist, die Hauptantwort des Programms auf jede Form von Ausnahmen.

Aus dem oben im Abschnitt „Ausnahme- und Syntaxfehler“ besprochenen Beispiel konnte beobachtet werden, dass ein Fehler auftrat, wenn im Code die falsche Syntax verwendet wurde. Wenn es jedoch keine Behandlung der entsprechenden Ausnahme gibt, wäre das Programm beendet worden. Es ist hauptsächlich die Aufgabe der Exception-Klausel zu entscheiden, wie das Programm im Falle von Exceptions reagieren soll.

Die Anweisungen von try und except werden zur Behandlung von Fehlern in Python verwendet. Immer wenn ein Fehler im Code von Python auftritt, werden diese Anweisungen verwendet, um diesen zu behandeln. Es gibt einen separaten Codeblock für die Try- und die Except-Funktion. Der Code innerhalb des try-Blocks hilft dabei, das Programm auf das Vorhandensein von Fehlern zu überprüfen. Daher wird immer dann, wenn das Programm keinen Fehler enthält, der Code im try-Block ausgeführt. Der Code innerhalb des Except-Blocks wird ausgeführt, wenn im vorherigen Codeblock einige Fehler erkannt werden. In der Programmiersprache Python gibt es eine spezielle Syntax zum Ausführen des Trial- und des Except-Anweisungsblocks.

Syntax der Try-Except-Funktion in Python:

Versuchen:

# Etwas Code

außer :

# Wird ausgeführt, wenn ein Fehler in der

# Versuchsblock

Funktionieren der Try-Anweisung

Lassen Sie uns zunächst die Funktionsweise des try-Blocks verstehen. Hier sind ein paar Schritte, die die Funktionsweise des Codeblocks innerhalb des try-Blocks definieren.

  • Die Klausel „try“ wird zuerst ausgeführt. Das bedeutet, dass der Code, der zwischen der try- und der except-Klausel steht, zuerst ausgeführt wird.
  • Ausnahmen werden geprüft. Wenn also keine Fehler oder Ausnahmen erkannt werden, wird nur die try-Klausel ausgeführt. Gleichzeitig wird die Except-Klausel nicht mehr ausgeführt.
  • In Ausnahmefällen überspringt das Programm die try-Klausel. In solchen Fällen wird die Ausnahmeklausel ausgeführt.
  • Es kann Fälle geben, in denen eine Ausnahme vorliegt, die Ausnahmeklausel diese Ausnahme jedoch nicht behandeln kann. In solchen Fällen wird die Ausnahme an die try-Anweisungen außerhalb des Blocks weitergeleitet. Wenn die Ausnahme auch dann nicht behandelt wird, stoppt das Programm die Ausführung.
  • Eine try-Anweisung kann viele Ausnahmeklauseln haben (mehr als eine).

Angenommen, ein Python-Programm trifft auf verschiedene Ausnahmen, dann werden zur Angabe der unterschiedlichen Handler mehrere except-Blöcke im Python-Programm verwendet. Es wird jeweils nur ein Handler ausgeführt. Sogar in einem Python-Programm können mehrere Ausnahmen als Klammern in der Except-Klausel verwendet werden.

Manchmal kann eine Klasse innerhalb der except-Anweisung vorhanden sein.

In Python wird ein Schlüsselwort verwendet, nämlich das Wort „finally“. Das Schlüsselwort wird verwendet oder nach der Ausführung der Blöcke von try und except ausgeführt. Wann immer es eine Beendigung der try-Klausel aufgrund einer Ausnahme oder einer normalen Beendigung gibt, wird daher in solchen Fällen der try-Block ausgeführt.

Ausnahmen auslösen

Nach dem Erkennen der Ausnahmen wird das Auftreten der Ausnahmen erzwungen, indem die Ausnahmen ausgelöst werden. Dies geschieht mit der Anweisung „raise“. Eines der wichtigen Ziele der raise-Anweisung ist, dass die Ausnahme ausgelöst werden soll.

Ein paar wichtige Punkte, um die ganze Idee zusammenzufassen, sind:

  • Die Ausführung der try-Klausel wird fortgesetzt, bis die erste Ausnahme auftritt.
  • Es befindet sich innerhalb des Blocks von except, dass das Programm entscheidet, wie auf die Ausnahme reagiert werden soll.
  • Es können mehrere Ausnahmen vorhergesehen werden, und dann unterscheidet das Programm, wie darauf zu reagieren ist.
  • Eine Ausnahme kann jederzeit durch die Verwendung der „raise“-Anweisung ausgelöst werden.
  • Die Anweisung „assert“ ermöglicht es dem Programm zu wissen, ob die bestimmte Bedingung erfüllt ist, und wenn die Bedingung nicht erfüllt ist, dann löst es die erforderliche Ausnahme aus.
  • Die else-Klausel ermöglicht es dem Programm, den Code auszuführen, wenn es keine Ausnahmen in der Klausel von „try“ gibt.
  • Die Anweisung „finally“ führt Codeabschnitte aus, die immer ausgeführt werden sollen, ohne auf vorherige Ausnahmen zu stoßen.

Fazit

Der Artikel hat kurz die Fehler besprochen, die in einem Python-Programm auftreten können, und im Fall bestimmter außergewöhnlicher Fehler löst das Programm eine Ausnahme aus. Diese Ausnahmen müssen für die reibungslose Ausführung des Programms richtig behandelt werden. Das try and except in Python ermöglicht die Behandlung der Ausnahmen im Programm. Der Code unter der Anweisung „try“ wird ausgeführt. Wenn der Code nicht erfolgreich ausgeführt wird, wird das Programm an der Codezeile beendet, die den Fehler generiert hat, und dann wird der Code „außer“ ausgeführt.

Holen Sie sich Software-Engineering-Abschlüsse von den besten Universitäten der Welt. Verdienen Sie Executive PG-Programme, Advanced Certificate-Programme oder Master-Programme, um Ihre Karriere zu beschleunigen.

Der Versuchsblock ermöglicht das Testen eines Codeblocks auf das Vorhandensein von Fehlern. Der Except-Block ermöglicht es dem Programm, die Ausnahme zu behandeln, falls es eine gibt.

Seien Sie ein Master in Softwareentwicklung

Bewerben Sie sich jetzt für den Master of Computer Science von Liverpool John Moores