Ausnahmebehandlung
Ausnahmen basieren auf der Voraussetzung, dass die Syntax normal ist. Fehler werden gemeldet,
wenn das Programm ausgeführt wird. Ausnahmen treten auf, wenn das Python-Skript abnormal ist. Wir müssen es abfangen und verarbeiten, sonst beendet das Programm die Ausführung.
Drucken ( " Hallo Welt " ) Drucken (1/0) # der Zerodivisionerror: Division durch Null - Druck ( " - Code End ' )
Ausnahmebehandlungsversuch, außer, schließlich werden Erhöhungsprozeduren
von oben nach unten ausgeführt. Der Versuchscode wird zuerst ausgeführt. Wenn der Code einen Fehler meldet, wird der folgende Code nicht ausgeführt. Der
Ausnahmecode in
Ausnahme wird ausgeführt. Wenn der Versuch nicht gemeldet wird, wird die Ausnahme nicht ausgeführt Code in
der Versuch : Print ( ' Hallo Wort ' ) Druck (1 /. 0) die Ausnahme Indexerror: Druck ( ' Index abnormal ' ) die außer dem Zerodivisionerror: Print ( ' O Divisor Ausnahme ' ) die Ausnahme : Print ( " - Code - Fehler " ) drucken ( ' Endgültiger Code ' )
Häufige Fehlermeldungen:
ZeroDivisionError, IndexError, NameError, FileNotFoundError, FileExistsError, TypeError
Versuch erfolgreich abgeschlossen ist , wird mit Ausnahme nicht gehen, geht sonst
versuchen , ein Fehler ist, außer zu gehen, gehen Sie nicht anders ,
unabhängig von dem Code ohne Ausnahme, schließlich geht
try : print ( " abc " ) print ( 1/0) print ( ' b ' ) außer BaseException: print ( " Ein Fehler ist aufgetreten " ) else : print ( " keine Ausnahme " ) finally : print ( " Jede Ausnahme oder nicht Lauf für mich " )
Der innere Versuch kann die Ausnahme nicht abfangen, und die
äußere Ausnahme kann nicht abgefangen werden, und sie wird weiterhin gesendet.
try : mit open ( ' test2.py ' , ' w + ' ) als f: content = f.read () try : mit open ( ' test3.txt ' , ' r ' ) als f: print (f.read () ) außer FileExistsError: print ( " Keine Datei gefunden Fehler " ) außer BaseException: print ( ' Outer catch ' )
Variablennamen können auch als Ausnahmeobjekte verwendet werden. Im Allgemeinen wird e verwendet, um anzuzeigen, dass das
e-Objekt eine Beschreibung der Ausnahmeinformationen enthält. Entsprechend der Beschreibung können verschiedene Behandlungen durchgeführt werden.
try : print ( " Hallo Welt " ) print ( 1/0 ) print ( " over " ) außer Ausnahme als e: print (e) def func1 (): print ( " --func1-1- " ) print (num) print ( ' --- func1-2- ' ) def func2 (): try : print ( ' --- func2--1 ' ) func1 () print ( ' ---- func2--2 ' ) außer FileNotFoundError: print ( " In func1 ist eine Ausnahme aufgetreten " ) else : print ( ' ---- func2--3 ' ) finally : print ( "Der letzte Code " ) den Versuch : func2 () Print ( ' func2 Ausführung über ' ) die Ausnahme Nameerror: Print ( " fälschlich ")
Benutzer können Ausnahmen gemäß der Geschäftslogik manuell auslösen,
und Benutzer können nach Bedarf Systemausnahmen (bereits in Python definierte Ausnahmen) und benutzerdefinierte Ausnahmen auslösen
der Versuch : Name = A IF name.isalpha (): Die Erhöhung Exception ( ' nicht alle Buchstaben ' ) die Ausnahme BaseException AS E: Print ( " ---- ---- Ausnahme " , E) Klasse Kurze (Exception): Pass der Versuch : die Erhöhung Kurze ( ‚ Eingang ist zu kurz ‘ ) die Ausnahme BaseException AS E: Druck (E) # String - Länge bestimmt , ob die Eingabe, wenn die Länge kleiner als die angegebenen Fehlerklasse MyException (Exception): DEF die __init__ (Self, Länge, atleast): self.laenge = Länge # Eingabezeichenfolgenlänge self.atleast = atleast DEF __str__ (Self): return ' Länge {}, eine vorbestimmte Länge {} ' .format (self.laenge, Selbst .atleast) den Versuch : MSG = Eingang ( " Bitte geben Sie ein: " ) IF . len (MSG) <5 : die Erhöhung MyException (len (MSG) ,. 5 ) die Ausnahme Ausnahme AS E: drucken (E)