Python unterstützt hauptsächlich fünf Ausnahmemechanismen, jeweils mit Beispielen.
Standard-Ausnahmebehandler
s = 'Hello girl!' print s[100] print 'continue'
Wenn wir keine Vorsichtsmaßnahmen für Ausnahmen treffen, wird das Programm unterbrochen, wenn während der Programmausführung eine Ausnahme auftritt, und Python wird unterbrochen Wird als Standard-Ausnahmebehandler bezeichnet und gibt Ausnahmeinformationen im Terminal aus. In diesem Fall wird Zeile 3 des Codes nicht ausgeführt.
versuchen…außer
s = 'Hello girl!' try: print s[100] except IndexError: print 'error...' print 'continue'
Wenn das Programm bis zum zweiten Satz ausgeführt wird, findet es die try-Anweisung, tritt zur Ausführung in den try-Anweisungsblock ein, es tritt eine Ausnahme auf und kehrt zurück zur Try-Anweisungsschicht und sucht nach der Rückseite. Gibt es eine Ausnahme-Anweisung? Nachdem die Ausnahmeanweisung gefunden wurde, wird dieser benutzerdefinierte Ausnahmehandler aufgerufen. Nachdem die Ausnahme behandelt wurde, setzt das Programm die Ausführung fort. In diesem Fall werden die letzten beiden Druckanweisungen ausgeführt.
exclusive kann auch leer sein, was darauf hinweist, dass jede Art von Ausnahme abgefangen wird.
try...finally
s = 'Hello girl!' try: print s[100] finally: print 'error...' print 'continue'
Die „final“-Anweisung bedeutet, dass die Anweisungen in „finally“ unabhängig davon ausgeführt werden müssen, ob eine Ausnahme auftritt oder nicht. Da es jedoch keinen Ausnahmehandler gibt, wird das Programm nach der endgültigen Ausführung unterbrochen. In diesem Fall wird der zweite Druck ausgeführt, der erste Druck jedoch nicht. Wenn es in der try-Anweisung keine Ausnahme gibt, werden alle drei Ausdrucke ausgeführt.
mit…as
with open('nothing.txt','r') as f: f.read() print 2/0 print 'continue'
Wenn wir normalerweise dateiähnliche Stream-Objekte verwenden, müssen wir nach der Verwendung die Close-Methode aufrufen, was sehr mühsam ist. Die with...as-Anweisung stellt hier eine sehr praktische Alternative dar: Nachdem open die Datei geöffnet hat, weisen Sie das zurückgegebene Datei-Stream-Objekt f zu und verwenden es dann im with-Anweisungsblock. Nachdem der with-Anweisungsblock abgeschlossen ist, wird die Datei automatisch und versteckt geschlossen.
Wenn in der with-Anweisung oder im Anweisungsblock eine Ausnahme auftritt, wird der Standard-Ausnahmehandler aufgerufen, die Datei wird jedoch weiterhin normal geschlossen.
In diesem Fall wird eine Ausnahme ausgelöst und der endgültige Druck wird nicht ausgeführt.
Das obige ist der detaillierte Inhalt vonSo behandeln Sie Ausnahmen in Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!