Welche Formen von Python-Ausnahmebehandlungsstrukturen gibt es?

silencement
Freigeben: 2019-06-12 10:50:57
Original
7405 Leute haben es durchsucht

Welche Formen von Python-Ausnahmebehandlungsstrukturen gibt es?

Python unterstützt hauptsächlich fünf Ausnahmemechanismen, jeweils mit Beispielen.

Standard-Ausnahmebehandler

s = 'Hello girl!'
print s[100]
print 'continue'
Nach dem Login kopieren

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'
Nach dem Login kopieren

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'
Nach dem Login kopieren

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 die try-Anweisung keine Ausnahme enthält, werden alle drei Ausdrucke ausgeführt.

mit…as

with open('nothing.txt','r') as f:
 f.read()
 print 2/0
print 'continue'
Nach dem Login kopieren

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 vonWelche Formen von Python-Ausnahmebehandlungsstrukturen gibt es?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!