Wie man Try am besten benutzt, außer in Python – Besonders für Anfänger

In der Python-Programmierung ermöglicht die Ausnahmebehandlung einem Programmierer, die Flusskontrolle zu aktivieren. Und es hat keine. von integrierten Ausnahmen, um Fehler abzufangen, falls Ihr Code bricht. Die Verwendung von try-except ist die häufigste und natürlichste Methode zur Behandlung unerwarteter Fehler sowie vieler weiterer Konstrukte zur Ausnahmebehandlung. In diesem Tutorial lernen Sie einige der besten Techniken zum Ausprobieren in Python kennen.

Fehlerbehandlung oder Ausnahmebehandlung in Python können durch das Einrichten von Ausnahmen erzwungen werden. Mit einem try-Block können Sie eine Ausnahme implementieren und den Fehler in einem except-Block behandeln. Immer wenn der Code in einem try-Block bricht, stoppt der reguläre Codefluss und das Steuerelement wird zur Behandlung des Fehlers auf den except-Block umgeschaltet.

Lesen Sie auch – Lernen Sie die Python-Ausnahmebehandlung von Grund auf neu.

Warum die Klausel Try-Except/Try-Except-else verwenden? Mit Hilfe von try-except und try-except-else können Sie viele unbekannte Probleme vermeiden, die sich aus Ihrem Code ergeben könnten. Zum Beispiel kann der Python-Code, der den LBYL-Stil (Look before you leap) verwendet, zu Rennbedingungen führen. Hier kann die try-Except-Klausel kommen, um Sie zu retten. Es gibt auch Fälle, in denen Ihr Code kritisch von einigen Informationen abhängt, die bis zu dem Zeitpunkt, an dem Sie ihn erhalten, veraltet sein können. Zum Beispiel der Code, der os aufruft.Pfad.existiert oder Warteschlange.full schlägt möglicherweise fehl, da diese Funktionen möglicherweise Daten zurückgeben, die zum Zeitpunkt der Verwendung veraltet sind. Die klügere Wahl wäre hier, dem try-except-else-Stil in Ihrem Code zu folgen, um die oben genannten Fälle zuverlässiger zu verwalten.

Das Auslösen von Ausnahmen ist auch in Python zulässig. Dies bedeutet, dass Sie eine Ausnahme auslösen oder auslösen können, wann immer dies erforderlich ist. Sie können dies einfach tun, indem Sie von Ihrem Code aus anrufen. Sobald die Ausnahme ausgelöst wurde, stoppt sie die aktuelle Ausführung wie gewohnt und wird im Aufrufstapel weiter nach oben verschoben, bis sie behandelt wird.

Warum Ausnahmen verwenden? Sie helfen nicht nur bei der Lösung gängiger Probleme wie Race Conditions, sondern sind auch sehr nützlich bei der Kontrolle von Fehlern in Bereichen wie Schleifen, Dateibehandlung, Datenbankkommunikation, Netzwerkzugriff usw.

Daher werden wir in diesem Beitrag umfassendere Probleme behandeln und Lösungen anbieten. Bitte beachten Sie, dass die Ausnahmebehandlung eine Kunst ist, die Ihnen immense Möglichkeiten bietet, robusten und qualitativ hochwertigen Code zu schreiben. Lesen Sie also einige Keynotes zu Ausnahmen und die besten Möglichkeiten, mit ihnen umzugehen.

Muss gelesen werden – Alles, was Sie über Python Copy File wissen sollten.

Python: Tipps zur Verwendung von Try-Except, Try-Except-Else und mehr

Wie man Try-Except am besten in Python verwendet
Wie man Try-Except am besten in Python verwendet
  • Wie man mit einer beliebigen Ausnahme umgeht
  • Mehrere Ausnahmen in einem except-Block abfangen
  • Mehrere Ausnahmen mit einem Except-Block behandeln
  • Ausnahmen in Python erneut auslösen
  • Wann die else-Klausel zu verwenden ist
  • Verwenden Sie
  • Verwenden Sie das Schlüsselwort As, um bestimmte Ausnahmetypen abzufangen
  • Best Practice für das manuelle ausnahmen
  • Überspringen von Fehlern und Fortsetzen der Ausführung
  • Häufigste Ausnahmefehler in Python
  • Beispiele für die häufigsten Ausnahmen in Python

1. So behandeln Sie eine beliebige Ausnahme

Manchmal benötigen Sie möglicherweise eine Möglichkeit, eine beliebige Ausnahme zuzulassen, und möchten auch die Fehler- oder Ausnahmemeldung anzeigen können.

Es ist leicht erreichbar mit den Python-Ausnahmen. Überprüfen Sie den folgenden Code. Während des Testens können Sie den Code im folgenden Beispiel in den try-Block einfügen.

try: #your codeexcept Exception as ex: print(ex)

Zurück nach oben

2. Mehrere Ausnahmen in einem Except-Block abfangen

Sie können mehrere Ausnahmen in einem einzigen Except-Block abfangen. Siehe das folgende Beispiel.

except (Exception1, Exception2) as e: pass

Bitte beachten Sie, dass Sie die Ausnahmen von der Variablen mit einem Komma trennen können, das in Python 2.6 /2.7 anwendbar ist. Aber Sie können es nicht in Python 3 tun. Sie sollten also lieber das Schlüsselwort verwenden.

Zurück nach oben

3. Behandlung mehrerer Ausnahmen mit einem Except-Block

Es gibt viele Möglichkeiten, mehrere Ausnahmen zu behandeln. Der erste von ihnen erfordert das Platzieren aller Ausnahmen, die wahrscheinlich in Form eines Tupels auftreten. Bitte sehen Sie von unten.

try: file = open('input-file', 'open mode')except (IOError, EOFError) as e: print("Testing multiple exceptions. {}".format(e.args))

Die nächste Methode besteht darin, jede Ausnahme in einem dedizierten Except-Block zu behandeln. Sie können so viele Blöcke wie nötig hinzufügen. Siehe das folgende Beispiel.

try: file = open('input-file', 'open mode')except EOFError as ex: print("Caught the EOF error.") raise exexcept IOError as e: print("Caught the I/O error.") raise ex

Das letzte, aber nicht das letzte ist, die except zu verwenden, ohne ein exception-Attribut zu erwähnen.

try: file = open('input-file', 'open mode')except: # In case of any unhandled error, throw it away raise

Diese Methode kann nützlich sein, wenn Sie keine Ahnung von der Ausnahme haben, die möglicherweise von Ihrem Programm ausgelöst wird.

Zurück nach oben

4. Ausnahmen in Python erneut auslösen

Ausnahmen, die einmal ausgelöst wurden, bewegen sich bis zur Behandlung zu den aufrufenden Methoden. Sie können jedoch eine except Klausel hinzufügen, die nur einen Aufruf ohne Argument haben könnte. Dies führt dazu, dass die Ausnahme erneut ausgelöst wird.

Siehe den folgenden Beispielcode.

try: # Intentionally raise an exception. raise Exception('I learn Python!')except: print("Entered in except.") # Re-raise the exception. raise

Ausgabe:

Entered in except.Traceback (most recent call last): File "python", line 3, in <module>Exception: I learn Python!

Zurück nach oben

5. Verwendung der else-Klausel

Verwenden Sie eine else-Klausel direkt nach dem try-except-Block. Die else-Klausel wird nur getroffen, wenn keine Ausnahme ausgelöst wird. Die else-Anweisung sollte immer vor den except-Blöcken stehen.

In else-Blöcken können Sie Code hinzufügen, den Sie ausführen möchten, wenn keine Fehler aufgetreten sind.

Siehe das folgende Beispiel. In diesem Beispiel sehen Sie eine while-Schleife, die unendlich läuft. Der Code fragt nach Benutzereingaben und analysiert sie dann mithilfe der integrierten Funktion. Wenn der Benutzer einen Nullwert eingibt, wird der Except-Block getroffen. Andernfalls fließt der Code durch den else-Block.

while True: # Enter integer value from the console. x = int(input()) # Divide 1 by x to test error cases try: result = 1 / x except: print("Error case") exit(0) else: print("Pass case") exit(1)

Zurück nach oben

6. Verwenden Sie

Wenn Sie einen Code haben, den Sie in allen Situationen ausführen möchten, schreiben Sie ihn in den . Python führt immer die in der codierten Anweisungen aus. Es ist die häufigste Art, Aufgaben zu bereinigen. Sie können auch sicherstellen, dass die Reinigung durchkommt.

Ein Fehler wird von der try-Klausel abgefangen. Nachdem der Code im except-Block ausgeführt wurde, werden die Anweisungen im except-Block ausgeführt.

Bitte beachten Sie, dass a IMMER ausgeführt wird, auch wenn Sie vor ihm zurückgekehrt sind.

Siehe das folgende Beispiel.

try: # Intentionally raise an error. x = 1 / 0except: # Except clause: print("Error occurred")finally: # Finally clause: print("The is hit")

Ausgabe:

Error occurredThe is hit

Zurück nach oben

7. Verwenden Sie das Schlüsselwort As, um bestimmte Ausnahmetypen abzufangen

Mit Hilfe von as <identifier>können Sie ein neues Objekt erstellen. Und Sie können auch das Ausnahmeobjekt. Im folgenden Beispiel erstellen wir das IOError Objekt und verwenden es dann innerhalb der Klausel.

try: # Intentionally raise an error. f = open("no-file")except IOError as err: # Creating IOError instance for book keeping. print("Error:", err) print("Code:", err.errno)

Ausgabe:

('Error:', IOError(2, 'No such file or directory'))('Code:', 2)

Zurück nach oben

8. Best Practice zum manuellen Auslösen von Ausnahmen

Vermeiden Sie das Auslösen generischer Ausnahmen, da in diesem Fall auch alle anderen spezifischeren Ausnahmen abgefangen werden müssen. Daher ist es am besten, die spezifischste Ausnahme in der Nähe Ihres Problems auszulösen.

Schlechtes Beispiel.

def bad_exception(): try: raise ValueError('Intentional - do not want this to get caught') raise Exception('Exception to be handled') except Exception as error: print('Inside the except block: ' + repr(error)) bad_exception()

Ausgabe:

Inside the except block: ValueError('Intentional - do not want this to get caught',)

Best Practice:

Hier lösen wir eine bestimmte Art von Ausnahme aus, keine generische. Und wir verwenden auch die Option args, um die falschen Argumente zu drucken, falls vorhanden. Sehen wir uns das folgende Beispiel an.

try: raise ValueError('Testing exceptions: The input is in incorrect order', 'one', 'two', 'four') except ValueError as err: print(err.args)

Ausgabe:

('Testing exceptions: The input is in incorrect order', 'one', 'two', 'four')

Zurück nach oben

9. So überspringen Sie Fehler und setzen die Ausführung fort

Idealerweise sollten Sie dies nicht tun. Wenn Sie dies dennoch tun möchten, befolgen Sie den folgenden Code, um den richtigen Ansatz zu finden.

try: assert Falseexcept AssertionError: passprint('Welcome to Prometheus!!!')

Ausgabe:

Welcome to Prometheus!!!

Zurück nach oben

Werfen Sie nun einen Blick auf einige der häufigsten Python-Ausnahmen und ihre Beispiele.

Häufigste Ausnahmefehler

  • IOError – Tritt bei Fehlern auf, bei denen eine Datei nicht geöffnet werden kann.
  • ImportError – Wenn ein Python-Modul nicht geladen oder gefunden werden kann.
  • ValueError – Tritt auf, wenn eine Funktion ein Argument vom richtigen Typ, aber einen unangemessenen Wert erhält.
  • KeyboardInterrupt – Es wird getroffen, wenn der Benutzer die Interrupt-Taste eingibt (dh Control-C oder Entf-Taste)
  • EOFError – Es wird ausgelöst, wenn die Eingabefunktionen (input()/raw_input()) eine Dateiende-Bedingung (EOF) treffen, aber keine Daten lesen.

Zurück zum Anfang

Beispiele für die häufigsten Ausnahmen

except IOError:print('Error occurred while opening the file.')except ValueError:print('Non-numeric input detected.')except ImportError:print('Unable to locate the module.')except EOFError:print('Identified EOF error.')except KeyboardInterrupt:print('Wrong keyboard input.')except:print('An error occurred.')

Zurück zum Anfang

Zusammenfassung – Wie man Try-Except am besten in Python verwendet

Während der Programmierung müssen Fehler auftreten. Es ist eine Tatsache, die niemand ignorieren kann. Und es könnte viele Gründe für Fehler geben, wie schlechte Benutzereingaben, unzureichende Dateiberechtigungen, die Nichtverfügbarkeit einer Netzwerkressource, unzureichender Speicher oder höchstwahrscheinlich der Fehler des Programmierers.

Wie auch immer, all dies kann gehandhabt werden, wenn Ihr Code die Ausnahmebehandlung verwendet und sie mit Konstrukten wie try-except oder try-except-else , try-except-finally implementiert. Ich hoffe, Sie hätten das obige Tutorial gerne gelesen.

Wenn Ihnen der Beitrag gefallen hat, verpassen Sie es bitte nicht, ihn mit Freunden und in den sozialen Medien (Facebook / Twitter) zu teilen.

Beste,
TechBeamers.



Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.