Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Industrial programming >> Python

Python-Fehler und eingebaute Ausnahmen

Python-Fehler und eingebaute Ausnahmen

In diesem Tutorial lernen Sie verschiedene Arten von Fehlern und Ausnahmen kennen, die in Python integriert sind. Sie werden immer dann ausgelöst, wenn der Python-Interpreter auf Fehler stößt.

Video:Python-Ausnahmebehandlung

Wir können beim Schreiben eines Programms bestimmte Fehler machen, die zu Fehlern führen, wenn wir versuchen, es auszuführen. Ein Python-Programm wird beendet, sobald es auf einen nicht behandelten Fehler stößt. Diese Fehler können grob in zwei Klassen eingeteilt werden:

  1. Syntaxfehler
  2. Logische Fehler (Ausnahmen)

Python-Syntaxfehler

Ein Fehler, der dadurch verursacht wird, dass die richtige Struktur (Syntax) der Sprache nicht befolgt wird, wird als Syntaxfehler bezeichnet oder Parsing-Fehler .

Sehen wir uns ein Beispiel an:

>>> if a < 3
  File "<interactive input>", line 1
    if a < 3
           ^
SyntaxError: invalid syntax

Wie im Beispiel gezeigt, zeigt ein Pfeil an, wo der Parser auf den Syntaxfehler gestoßen ist.

Wir können hier feststellen, dass ein Doppelpunkt : fehlt in if Erklärung.


Logische Python-Fehler (Ausnahmen)

Fehler, die zur Laufzeit (nach Bestehen des Syntaxtests) auftreten, werden als Ausnahmen bezeichnet oder logische Fehler .

Sie treten zum Beispiel auf, wenn wir versuchen, eine Datei (zum Lesen) zu öffnen, die nicht existiert (FileNotFoundError ), versuchen Sie, eine Zahl durch Null zu teilen (ZeroDivisionError ), oder versuchen Sie, ein nicht vorhandenes Modul zu importieren (ImportError ).

Wann immer diese Arten von Laufzeitfehlern auftreten, erstellt Python ein Ausnahmeobjekt. Wenn es nicht richtig gehandhabt wird, gibt es eine Rückverfolgung zu diesem Fehler zusammen mit einigen Details darüber aus, warum dieser Fehler aufgetreten ist.

Schauen wir uns an, wie Python diese Fehler behandelt:

>>> 1 / 0
Traceback (most recent call last):
 File "<string>", line 301, in runcode
 File "<interactive input>", line 1, in <module>
ZeroDivisionError: division by zero

>>> open("imaginary.txt")
Traceback (most recent call last):
 File "<string>", line 301, in runcode
 File "<interactive input>", line 1, in <module>
FileNotFoundError: [Errno 2] No such file or directory: 'imaginary.txt'

Integrierte Python-Ausnahmen

Unzulässige Operationen können Ausnahmen auslösen. Es gibt viele eingebaute Ausnahmen in Python, die ausgelöst werden, wenn entsprechende Fehler auftreten. Wir können alle eingebauten Ausnahmen mit dem eingebauten local() anzeigen funktionieren wie folgt:

print(dir(locals()['__builtins__']))

locals()['__builtins__'] gibt ein Modul mit integrierten Ausnahmen, Funktionen und Attributen zurück. dir ermöglicht es uns, diese Attribute als Strings aufzulisten.

Einige der üblichen integrierten Ausnahmen in der Python-Programmierung zusammen mit den Fehlern, die sie verursachen, sind unten aufgeführt:

Ausnahme Fehlerursache
AssertionError Erhöht wenn ein assert Anweisung schlägt fehl.
AttributeError Wird ausgelöst, wenn die Attributzuweisung oder Referenz fehlschlägt.
EOFError Erhöht bei input() Funktion trifft Ende-der-Datei-Bedingung.
FloatingPointError Wird ausgelöst, wenn eine Gleitkommaoperation fehlschlägt.
GeneratorExit Erhöhen, wenn ein Generator close() ist Methode aufgerufen wird.
ImportError Wird ausgelöst, wenn das importierte Modul nicht gefunden wird.
IndexError Ausgelöst, wenn der Index einer Sequenz außerhalb des zulässigen Bereichs liegt.
KeyError Wird ausgelöst, wenn ein Schlüssel nicht in einem Wörterbuch gefunden wird.
KeyboardInterrupt Wird ausgelöst, wenn der Benutzer die Unterbrechungstaste drückt (Ctrl+C oder Delete ).
MemoryError Wird ausgelöst, wenn für eine Operation der Speicherplatz ausgeht.
NameError Wird ausgelöst, wenn eine Variable nicht im lokalen oder globalen Gültigkeitsbereich gefunden wird.
NotImplementedError Aufgezogen durch abstrakte Methoden.
OSError Wird ausgelöst, wenn der Systembetrieb einen systembezogenen Fehler verursacht.
OverflowError Ausgelöst, wenn das Ergebnis einer arithmetischen Operation zu groß ist, um dargestellt zu werden.
ReferenceError Wird ausgelöst, wenn ein schwacher Referenz-Proxy verwendet wird, um auf einen Referent mit Garbage Collection zuzugreifen.
RuntimeError Wird ausgelöst, wenn ein Fehler in keine andere Kategorie fällt.
StopIteration Erhöht von next() Funktion, um anzuzeigen, dass es kein weiteres Element gibt, das vom Iterator zurückgegeben werden soll.
SyntaxError Wird vom Parser ausgelöst, wenn ein Syntaxfehler auftritt.
IndentationError Erhöht bei falscher Einrückung.
TabError Wird ausgelöst, wenn der Einzug aus inkonsistenten Tabulatoren und Leerzeichen besteht.
SystemError Wird ausgelöst, wenn der Interpreter einen internen Fehler feststellt.
SystemExit Erzogen von sys.exit() Funktion.
TypeError Wird ausgelöst, wenn eine Funktion oder Operation auf ein Objekt des falschen Typs angewendet wird.
UnboundLocalError Wird ausgelöst, wenn in einer Funktion oder Methode auf eine lokale Variable verwiesen wird, aber kein Wert an diese Variable gebunden wurde.
UnicodeError Wird ausgelöst, wenn ein Unicode-bezogener Codierungs- oder Decodierungsfehler auftritt.
UnicodeEncodeError Wird ausgelöst, wenn während der Kodierung ein Unicode-bezogener Fehler auftritt.
UnicodeDecodeError Wird ausgelöst, wenn während der Dekodierung ein Unicode-bezogener Fehler auftritt.
UnicodeTranslateError Wird ausgelöst, wenn während der Übersetzung ein Unicode-bezogener Fehler auftritt.
ValueError Wird ausgelöst, wenn eine Funktion ein Argument des richtigen Typs, aber eines falschen Werts erhält.
ZeroDivisionError Wird ausgelöst, wenn der zweite Operand der Division oder Modulo-Operation Null ist.

Bei Bedarf können wir auch eigene Ausnahmen in Python definieren. Um mehr darüber zu erfahren, besuchen Sie Benutzerdefinierte Python-Ausnahmen.

Wir können diese eingebauten und benutzerdefinierten Ausnahmen in Python mit try handhaben , except und finally Aussagen. Um mehr über sie zu erfahren, besuchen Sie Python try, except und finally Statements.


Python

  1. Python-Schlüsselwörter und -Identifikatoren
  2. Python-Anweisung, Einrückung und Kommentare
  3. Python-Variablen, -Konstanten und -Literale
  4. Python-Typkonvertierung und Typumwandlung
  5. Python-Eingabe, -Ausgabe und -Import
  6. Python Globale, lokale und nicht lokale Variablen
  7. Python-Zahlen, Typumwandlung und Mathematik
  8. Python-Verzeichnis- und Dateiverwaltung
  9. Benutzerdefinierte Python-Ausnahmen
  10. Wie bekomme ich das aktuelle Datum und die Uhrzeit in Python?