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

Python-Ausnahmebehandlung:Try, Catch, Final &Raise [Beispiel]

Was ist eine Ausnahmebehandlung in Python?

Eine Ausnahme ist ein Fehler, der während der Ausführung eines Programms auftritt. Während der Ausführung eines Programms generiert Python jedoch eine Ausnahme, die behandelt werden sollte, um einen Absturz Ihres Programms zu vermeiden. In der Python-Sprache werden Ausnahmen automatisch bei Fehlern ausgelöst, oder sie können von Ihrem Code ausgelöst und abgefangen werden.

Die Ausnahme gibt an, dass das Ereignis zwar auftreten kann, diese Art von Ereignis jedoch selten auftritt. Wenn die Methode die Ausnahme nicht verarbeiten kann, wird sie an ihre aufrufende Funktion geworfen. Wenn schließlich eine Ausnahme von der Hauptfunktion ausgelöst wird, wird das Programm abrupt beendet.

In diesem Tutorial zur außergewöhnlichen Handhabung von Python lernen Sie :

Häufige Beispiele für Ausnahmen:

Warum sollten Sie Ausnahmen verwenden?

Hier sind die Gründe für die Verwendung von Ausnahmen in Python:

Ausnahmeregeln

Hier sind einige grundlegende Regeln der Python-Ausnahmebehandlung:

Python-Ausnahmebehandlungsmechanismus

Die Ausnahmebehandlung wird durch die folgenden 5 Schlüsselwörter verwaltet:

  1. versuchen
  2. fangen
  3. endlich
  4. werfen

Python Try-Anweisung

Eine try-Anweisung enthält das Schlüsselwort try, gefolgt von einem Doppelpunkt (:) und einer Reihe von Codes, in denen Ausnahmen auftreten können. Es hat eine oder mehrere Klauseln.

Wenn während der Ausführung der try-Anweisung keine Ausnahmen aufgetreten sind, ignoriert der Interpreter die Ausnahmebehandlungsroutinen für diese spezifische try-Anweisung.

Falls eine Ausnahme in einer Try-Suite auftritt, läuft die Try-Suite ab und die Programmsteuerung wird an den übereinstimmenden Except-Handler übertragen, der der Try-Suite folgt.

Syntax:
try:
statement(s)

Die catch-Anweisung

Catch-Blöcke akzeptieren jeweils ein Argument, was die Art von Ausnahme ist, die wahrscheinlich abgefangen wird. Diese Argumente können von einem bestimmten Ausnahmetyp, der variiert werden kann, bis zu einer Catch-all-Kategorie von Ausnahmen reichen.

Regeln für catch-Block:

Beispiel:

try
}
catch (ArrayIndexOutOfBoundsException e) {
System.err.printin("Caught first " + e.getMessage()); } catch (IOException e) {
System.err.printin("Caught second " + e.getMessage());
}

Finally-Anweisung in Python

Schließlich wird der Block immer ausgeführt, unabhängig davon, ob eine Ausnahme ausgelöst wird oder nicht. Mit dem Schlüsselwort final können Sie einen Codeblock erstellen, der auf einen try-catch-Block folgt.

Schließlich ist die Klausel optional. Es ist beabsichtigt, Aufräumaktionen zu definieren, die unter allen Bedingungen ausgeführt werden sollten.

try:
    raise KeyboardInterrupt
finally:
    print 'welcome, world!'
Output
Welcome, world!
KeyboardInterrupt

Schließlich wird die Klausel vor der try-Anweisung ausgeführt.

Raise-Anweisung in Python

Die Raise-Anweisung gibt ein Argument an, das das Ausnahmeobjekt initialisiert. Hier folgt ein Komma auf den Ausnahmenamen und ein Argument oder Tupel des Arguments, das auf das Komma folgt.

Syntax:

raise [Exception [, args [, traceback]]]

In dieser Syntax ist das Argument optional, und zum Zeitpunkt der Ausführung ist der Wert des Ausnahmearguments immer none.

Beispiel:

Eine Python-Ausnahme kann ein beliebiger Wert wie eine Zeichenfolge, Klasse, Zahl oder ein Objekt sein. Die meisten dieser Ausnahmen, die vom Python-Kern ausgelöst werden, sind Klassen mit einem Argument, das eine Instanz der Klasse ist.

Wichtige Python-Fehler

Fehlertyp Beschreibung
Arithmetikfehler ArithmeticError fungiert als Basisklasse für alle arithmetischen Ausnahmen. Es wird bei Fehlern in arithmetischen Operationen ausgelöst.
Importfehler ImportError wird ausgelöst, wenn Sie versuchen, ein Modul zu importieren, das nicht vorhanden ist. Diese Art von Ausnahme tritt auf, wenn Sie einen Tippfehler im Modulnamen gemacht haben oder das Modul nicht im Standardpfad vorhanden ist.
IndexFehler Ein IndexErroris wird ausgelöst, wenn Sie versuchen, auf eine Sequenz zu verweisen, die außerhalb des zulässigen Bereichs liegt.
Schlüsselfehler Wenn ein bestimmter Schlüssel nicht in einem Wörterbuch gefunden wird, wird eine KeyError-Ausnahme ausgelöst.
Namensfehler Ein NameError wird ausgelöst, wenn in Code auf einen Namen verwiesen wird, der niemals im lokalen oder globalen Namespace existiert.
WertFehler Wertfehler wird ausgelöst, wenn eine Funktion oder eingebaute Operation ein Argument empfängt, das vom richtigen Typ sein kann, aber keinen geeigneten Wert hat.
EOF-Fehler Diese Art von Fehler tritt auf, wenn eine der eingebauten Funktionen (input() oder raw_input()) eine EOF-Bedingung erreicht, ohne Daten zu lesen.
ZeroDivisonError Diese Art von Fehler wird ausgelöst, wenn für alle numerischen Typen eine Division oder ein Modul durch Null stattfindet.
IOError- Diese Art von Fehler wird ausgelöst, wenn eine Ein-/Ausgabeoperation fehlschlägt.
syntaxFehler SyntaxErrors, die ausgelöst werden, wenn ein Fehler in der Python-Syntax vorliegt.
Einrückungsfehler Dieser Fehler wird ausgelöst, wenn die Einrückung nicht richtig definiert ist

Andere wichtige Python-Ausnahmen

Ausnahme Beschreibung
Arithmetische Ausnahme Arithmetischer Fehler, z. B. Division durch Null.
ArrayIndexOutOfBoundsException Array-Index ist außerhalb der Grenzen.
ArrayStoreException Zuweisung hilft Ihnen, das Array-Element eines inkompatiblen Typs zu verwenden.
ClassCastException Ungültige Umwandlung
MlegalMonitorStateException Illegaler Überwachungsvorgang, wie das Warten auf einen nicht gesperrten Thread.
MlegalStateException Umgebung oder Anwendung ist im falschen Zustand.
ClassNotFoundException Klasse nicht gefunden.
CloneNotSupportedException Versuch, ein Objekt zu klonen, das die Cloneable-Schnittstelle nicht implementiert.
Illegal AccessException Zugriff auf eine Klasse verweigert.
Instanziierungsausnahme Tritt auf, wenn Sie versuchen, ein Objekt einer Schnittstelle oder abstrakten Klasse zu erstellen.
CloneNotSupportedException Versuch, ein Objekt zu klonen, das die Schnittstelle nicht implementiert.

Fehler vs. Ausnahmen

Fehler Ausnahmen
Alle Fehler in Python sind vom ungeprüften Typ. Ausnahmen umfassen sowohl aktivierte als auch nicht aktivierte Typen.
Zur Laufzeit treten Fehler auf, die dem Compiler unbekannt sind. Ausnahmen können behoben werden, indem sie mit Hilfe von Try-Catch-Blöcken behandelt werden.
Fehler werden meistens durch die Umgebung verursacht, in der eine Anwendung ausgeführt wird. Die Anwendung selbst verursacht Ausnahmen.
Beispiele:
OutofMemoryError
Beispiele:
Überprüfte Ausnahmen, SQL-Ausnahme, NullPointerException usw.

Zusammenfassung


Python

  1. Python-Datentypen
  2. Python-Operatoren
  3. Python-pass-Anweisung
  4. Python-Funktionsargumente
  5. Python-Wörterbuch
  6. Python-Ausnahmebehandlung Mit der try-, except- und finally-Anweisung
  7. Python-Iteratoren
  8. Python-Schließungen
  9. Java-Ausnahmebehandlung
  10. Java versuchen ... fangen