Versuchen Sie, diesen Code zunächst ohne einen finally-Block auszuführen,
1 / 0
führt zu einem Fehler bei der Teilung durch Null.
try:
1 / 0
print(1)
except Exception as e:
1 / 0
print(e)
Versuchen Sie dann, diesen Code auszuführen,
try:
1 / 0
print(1)
except Exception as e:
1 / 0
print(e)
finally:
print('finally')
Im ersten Fall haben Sie keine endgültige Sperre,
Wenn also im Except-Block ein Fehler auftritt, wird die Programmausführung angehalten und Sie können nach dem Except-Block nichts mehr ausführen.
Aber für den zweiten Fall,
Der Fehler tritt auf, aber bevor das Programm anhält, führt Python zuerst den finally-Block aus und hält dann das Programm an.
Das ist der Grund, warum man endlich etwas tut, was wirklich wichtig ist.