Heim  >  Artikel  >  Backend-Entwicklung  >  Was ist der Unterschied zwischen Python-Ausnahmen und -Fehlern?

Was ist der Unterschied zwischen Python-Ausnahmen und -Fehlern?

藏色散人
藏色散人Original
2019-06-26 09:58:1213301Durchsuche

Was ist der Unterschied zwischen Python-Ausnahmen und -Fehlern?

Was ist der Unterschied zwischen Python-Ausnahmen und Fehlern

1. Fehler

Aus Softwaresicht ist der Fehler grammatikalischer oder logischer Natur. Syntaxfehler weisen darauf hin, dass in der Software ein Strukturfehler vorliegt, der vom Interpreter nicht interpretiert oder vom Compiler nicht kompiliert werden kann. Diese Fehler müssen vor der Ausführung des Programms behoben werden. Wenn die Syntax des Programms korrekt ist, sind der Rest logische Fehler. Logikfehler können auf unvollständige oder illegale Eingaben zurückzuführen sein; in anderen Fällen kann es sein, dass die Logik nicht generiert oder berechnet werden kann oder der zur Ausgabe des Ergebnisses erforderliche Prozess nicht ausgeführt werden kann. Diese Fehler werden allgemein als Domänenfehler bzw. Bereichsfehler bezeichnet.

Wenn Python einen Fehler erkennt, weist der Interpreter darauf hin, dass der aktuelle Stream nicht weiter ausgeführt werden kann und eine Ausnahme auftritt.

2. Ausnahme

Die beste Beschreibung einer Ausnahme ist: Es handelt sich um eine Aktion, die aufgrund eines Fehlers im Programm außerhalb des normalen Kontrollflusses ausgeführt wird. Dieses Verhalten ist in zwei Phasen unterteilt: zuerst der Fehler, der das Auftreten der Ausnahme verursacht hat, und dann die Erkennungsphase (und die mögliche Aktion).

Die erste Phase tritt auf, nachdem ein abnormaler Zustand (manchmal auch Ausnahmezustand genannt) auftritt. Immer wenn ein Fehler erkannt wird und eine Ausnahmebedingung erkannt wird, löst der Interpreter eine Ausnahme aus. Die Initiierung kann auch als Triggerung oder Generierung bezeichnet werden, wobei der Interpreter den aktuellen Kontrollfluss darüber informiert, dass ein Fehler aufgetreten ist.

Python ermöglicht es Programmierern auch, selbst Ausnahmen auszulösen. Unabhängig davon, ob sie vom Python-Interpreter oder vom Programmierer ausgelöst werden, ist eine Ausnahme ein Signal dafür, dass ein Fehler aufgetreten ist. Der aktuelle Stream wird unterbrochen, um den Fehler zu beheben entsprechende Maßnahmen, dies ist die zweite Stufe.

Die Ausnahmebehandlung erfolgt in der zweiten Phase. Nachdem eine Ausnahme ausgelöst wurde, können viele verschiedene Aktionen aufgerufen werden, darunter das Ignorieren des Fehlers (Protokollieren des Fehlers, aber keine Maßnahmen ergreifen, Abhilfemaßnahmen ergreifen und Beenden des Programms) oder der Versuch, das Problem zu entschärfen und die Ausführung fortzusetzen. Alle diese Vorgänge stellen eine Fortsetzung oder einen Zweig der Steuerung dar, und der Schlüssel liegt darin, dass der Programmierer dem Programm anweisen kann, wie es ausgeführt werden soll, wenn ein Fehler auftritt.

Sprachen wie Python, die das Auslösen und (was noch wichtiger ist) die Behandlung von Ausnahmen unterstützen, geben Entwicklern eine direktere Kontrolle über auftretende Fehler. Programmierer erhalten nicht nur die Möglichkeit, Fehler zu erkennen, sondern können auch zuverlässigere Abhilfemaßnahmen ergreifen, wenn sie auftreten.

Die Robustheit von Anwendungen wurde durch die Möglichkeit, Fehler zur Laufzeit zu verwalten, erheblich verbessert.

Ausnahmen und Ausnahmebehandlung sind keine neuen Konzepte. Sie existieren auch in Ada, Modula-3, C++, Eiffel und Java. Der Ursprung von Ausnahmen lässt sich auf den Betriebssystemcode zurückführen, der Ausnahmen wie Systemfehler und Hardware-Interrupts behandelt.

Um 1965 entstand PL/1 als erste große Sprache, die Ausnahmen und die Ausnahmebehandlung als bereitgestelltes Softwaretool unterstützte. Ähnlich wie andere Sprachen, die die Ausnahmebehandlung unterstützen, übernimmt Python die Konzepte von „Try/Try“-Blöcken und „Catch/Capture“-Blöcken und ist bei der Ausnahmebehandlung „disziplinierter“.

Anstatt blind einen „Catch-All/Catch-All“-Code zu erstellen, können wir verschiedene Handler für verschiedene Ausnahmen erstellen.

Empfohlenes Lernen: „Python-Tutorial

Das obige ist der detaillierte Inhalt vonWas ist der Unterschied zwischen Python-Ausnahmen und -Fehlern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn