Python – Ausnahmen

Wenn wir ein Programm ausführen, gibt es oft Situationen, in denen ein Benutzer ein ungewöhnliches Verhalten unseres Algorithmus auslösen kann, insbesondere, wenn wir von der Eingabe dieses Benutzers abhängen. Bei diesen vielen Programmiersprachen werden die Ausnahmen als implementiert Mechanismus, der verhindert, dass unser Programm explodiert und eine schlimmere Situation erzeugt, da sensible Daten der Öffentlichkeit zugänglich gemacht werden können.

Was ist eine Ausnahme?

In Python ist eine Ausnahme ein Objekt, das, wenn es nicht in irgendeiner Weise behandelt wird, zum Programmende führt und eine Rückverfolgung des Fehlers anzeigt, der diese Ausnahme verursacht hat. Ein Beispiel dafür, wie eine Ausnahme in einem Python- Programm aussieht, finden Sie in Der folgende Screenshot:

Python_Exceptions1.jpg

Obwohl diese Ausnahme ein sehr grundlegendes Beispiel ist, gibt sie uns einen sehr wichtigen theoretischen Hintergrund. Dies weist jedoch darauf hin, dass es sich um eine Instanz handelt, die auf verschiedene Arten generiert und erfasst werden kann, sodass wir den Fehler erfassen und im Fluss etwas unternehmen können des Programms, wodurch dessen abrupte Beendigung vermieden wird, womit unser Programm viel stabiler wäre.

Eine Ausnahme auslösen

Wie wir in den vorhergehenden Abschnitten gesehen haben, werden die Ausnahmen in vielen Fällen automatisch aufgehoben. Sie können jedoch auch aufgehoben werden, um mehr Kontrolle über das Programm zu erhalten.

Um eine Ausnahme auszulösen, verwenden wir den Befehl raise , der als Argument entweder eine Klasse oder ein Objekt verwendet. Wenn wir eine Klasse verwenden, wird eine Instanz davon automatisch generiert. Wir können sogar ein Argument vom Typ string nach der durch Komma getrennten Klasse verwenden.

See also  So verschlüsseln Sie eine Partition unter Linux mit dem Befehl DM-Crypt

Sehen wir uns einige Beispiele für die in Python enthaltene Klasse Exception an :

Mit diesem Code können wir eine Ausnahme auslösen:

 >>> Exception auslösen Rückverfolgung (letzter Anruf zuletzt): Datei "<stdin>", Zeile 1, in? Ausnahme 

Wir rufen einfach raise auf und übergeben die Klasse Exception , da es nicht kompliziert ist, noch ein paar Codes zu sehen.

 >>> Exception 'Hyperdrive Overload' auslösen Rückverfolgung (letzter Anruf zuletzt): Datei "<stdin>", Zeile 1, in? Ausnahme: Hyperantriebsüberlastung 

In diesen beiden zusätzlichen Fällen übergeben wir einen zusätzlichen Parameter vom Typ string, wie wir sehen, entweder durch Trennen mit einem Komma oder als Argument der Klasse.

Sehen wir uns eine Liste einiger Ausnahmen an, die standardmäßig in Python vorkommen :

  • Ausnahme: Die Stammklasse für alle Ausnahmen.
  • AtributeError: Wird ausgelöst, wenn eine Referenz oder Zuweisung von Attributen fehlschlägt.
  • IOError: Wird ausgelöst, wenn eine nicht vorhandene Datei geöffnet werden soll.
  • IndexError: Wird ausgelöst, wenn ein nicht vorhandener Index oder eine nicht vorhandene Sequenz verwendet wird.
  • KeyError: Wird ausgelöst, wenn ein nicht vorhandener Schlüssel zugeordnet ist.
  • NameError: Wird ausgelöst, wenn der Name einer Variablen nicht gefunden wird.
  • SyntaxError: Wird ausgelöst, wenn der Code fehlerhaft ist.
  • TypeError: Wird ausgelöst, wenn eine Operation oder Funktion auf ein Objekt des falschen Typs angewendet wird.
  • ValueError: Entspricht dem vorherigen Fall, gilt jedoch nicht für den Typ, sondern für den Wert des Objekts.
  • ZeroDivisionerror: Wird ausgelöst, wenn das zweite Argument einer Division Null ist.

Erstellen Sie unsere Ausnahmen

Obwohl die Ausnahmen, die in Python enthalten sind, bereits ein weites Feld an Funktionen abdecken, die wir möglicherweise benötigen, müssen wir manchmal einfach eigene Ausnahmen erstellen, um unsere Programme zu erfüllen. Sehen wir uns ein Beispiel an:

 Klasse SomeCustomException (Ausnahme): pass 

Wir erstellen einfach eine Klasse wie jede andere und erben dann von der Exception- Klasse, um unsere benutzerdefinierte Ausnahme zu erstellen.

See also  Geplante Aufgaben sichern und wiederherstellen Windows 10

administrator

Leave a Reply

Your email address will not be published. Required fields are marked *