Schreiben Sie über die Verwendung von try in Python

Die Verwendung von try in Python

In Python trywird das Schlüsselwort für die Ausnahmebehandlung verwendet. tryDie Syntax der Anweisung lautet wie folgt:

try:
    # 可能会抛出异常的语句块
except ExceptionType1:
    # 处理 ExceptionType1 异常的语句块
except ExceptionType2:
    # 处理 ExceptionType2 异常的语句块
else:
    # 如果没有异常发生,执行的语句块
finally:
    # 不管有没有异常,都会执行的语句块

Unter anderem trykann der Code im Anweisungsblock eine Ausnahme auslösen. Wenn eine Ausnahme ausgelöst wird, wird sie tryim Anweisungsblock unterbrochen und zum entsprechenden exceptAnweisungsblock gesprungen, um die Ausnahme zu behandeln. Der zu behandelnde Ausnahmetyp kann im Anweisungsblock angegeben werden. Wenn die ausgelöste Ausnahme vom angegebenen Typ ist, wird der Code im exceptentsprechenden Anweisungsblock ausgeführt .except

Wenn tryim Anweisungsblock keine Ausnahme ausgelöst wird, elsewird der Code im Anweisungsblock ausgeführt. finallyDer Code im Anweisungsblock wird unabhängig davon ausgeführt, ob eine Ausnahme vorliegt.

Das Folgende ist ein einfaches Beispiel, das trydie Verwendung von Anweisungsblöcken demonstriert:

try:
    x = int(input("请输入一个整数: "))
    print("输入的整数是:", x)
except ValueError:
    print("输入错误:请输入整数")
else:
    print("没有发生异常")
finally:
    print("程序执行完毕")

In diesem Beispiel tryversucht der Code im Block, Benutzereingaben in eine Ganzzahl umzuwandeln und gibt das konvertierte Ergebnis aus. Wenn die Benutzereingabe keine Ganzzahl ist, ValueErrorwird eine Ausnahme ausgelöst und dann zum entsprechenden exceptAnweisungsblock gesprungen, um die Ausnahme zu behandeln. Im exceptAnweisungsblock geben wir eine Fehlermeldung aus, die dem Benutzer mitteilt, dass die Eingabe falsch war. Im elseAnweisungsblock geben wir eine Meldung aus, die besagt, dass keine Ausnahme aufgetreten ist. Im finallyAnweisungsblock geben wir eine Meldung aus, die angibt, dass die Programmausführung abgeschlossen ist, unabhängig davon, ob eine Ausnahme auftritt oder nicht.

Benutzerdefinierte Ausnahme

ValueErrorEs handelt sich um einen der in Python integrierten Ausnahmetypen. Er zeigt normalerweise an, dass die von einer Funktion oder Methode empfangenen Parameter ungültig oder illegal sind. Wenn Sie beispielsweise versuchen, eine Zeichenfolge in eine Ganzzahl umzuwandeln, wird eine Ausnahme ausgelöst, wenn die Zeichenfolge keine zulässige Zahl ist ValueError.

In Python können Sie zusätzlich zu den integrierten Ausnahmetypen auch Ausnahmetypen anpassen. Um einen Ausnahmetyp anzupassen, können Sie eine neue Klasse definieren und von der ExceptionKlasse oder anderen integrierten Ausnahmetypen erben. Der folgende Code definiert beispielsweise einen benutzerdefinierten Ausnahmetyp MyError:

class MyError(Exception):
    pass

MyErrorNachdem Sie den Ausnahmetyp definiert haben , können Sie diese Ausnahme im Programm auslösen. Zum Beispiel:

def my_function(x):
    if x < 0:
        raise MyError("x不能小于0")
    else:
        return x * 2

try:
    result = my_function(-1)
except MyError as e:
    print("发生了自定义异常:", e)
else:
    print("结果是:", result)

In diesem Beispiel definieren wir eine my_function()Funktion namens, die eine Zahl nimmt xund sie mit 2 multipliziert. Wenn es xsich um eine negative Zahl handelt, wird eine Ausnahme ausgelöst MyErrorund eine Fehlermeldung ausgegeben. Im tryAnweisungsblock haben wir aufgerufen my_function(-1), und da -1es sich um eine negative Zahl handelt, MyErrorwird eine Ausnahme ausgelöst. Im exceptAnweisungsblock fangen wir diese Ausnahme ab und geben die Fehlermeldung aus. Im elseAnweisungsblock geben wir die Berechnungsergebnisse aus.

Integrierte Ausnahmen

In Python gibt es viele integrierte Ausnahmetypen, mit denen verschiedene Arten von Fehlern behandelt werden können. Im Folgenden sind gängige Ausnahmetypen und ihre Beschreibungen aufgeführt, die in die Python-Version 3.9.6 integriert sind:

  • Exception: Basisklasse für alle Ausnahmen.
  • AttributeError: Das Objekt verfügt nicht über dieses Attribut.
  • EOFError: Kein integrierter Eingang, EOF-Marke erreicht.
  • FileExistsError: Beim Erstellen einer Datei oder eines Verzeichnisses wurde festgestellt, dass die Datei oder das Verzeichnis bereits vorhanden ist.
  • FileNotFoundError: Die Datei oder das Verzeichnis existiert nicht.
  • ImportError: Modulimport fehlgeschlagen.
  • IndexError: Dieser Index ist in der Sequenz nicht vorhanden.
  • KeyError: Dieser Schlüssel ist in der Karte nicht vorhanden.
  • KeyboardInterrupt: Benutzer unterbricht die Ausführung.
  • MemoryError: Speicherüberlauffehler.
  • NameError: Nicht deklariertes/initialisiertes Objekt (keine Eigenschaften).
  • NotImplementedError: Die abstrakte Methode ist nicht implementiert.
  • OSError: Betriebssystemfehler, z. B. Fehler beim Öffnen/Lesen von Dateien.
  • OverflowError: Numerische Operation überschreitet den Maximalwert.
  • RecursionError: Die Rekursion ist zu tief verschachtelt.
  • RuntimeError: Allgemeiner Laufzeitfehler.
  • StopIteration:Der Iterator hat keine weiteren Werte.
  • SyntaxError:Grammatische Fehler.
  • IndentationError: Einrückungsfehler.
  • TabError: Tabulator und Leerzeichen mischen.
  • SystemError:Interner Fehler des Interpreters.
  • TypeError: Der Vorgang oder die Funktion wird auf einen ungeeigneten Typ angewendet.
  • UnboundLocalError: Greifen Sie auf nicht initialisierte lokale Variablen zu.
  • UnicodeError:Unicode-bezogene Fehler.
  • ValueError: Eine Operation oder Funktion hat ein Argument mit einem falschen Wert empfangen.
  • ZeroDivisionError: Der Divisor ist Null.

Es ist zu beachten, dass dies nur einige der in Python integrierten Ausnahmetypen sind. Es gibt viele andere Ausnahmetypen, und Sie können Ausnahmetypen auch anpassen. Beim Schreiben von Code können Sie den geeigneten Ausnahmetyp auswählen, um Fehler nach Bedarf zu behandeln.

Supongo que te gusta

Origin blog.csdn.net/qq_44370158/article/details/131548186
Recomendado
Clasificación