Ich bin neu in Python. Ich möchte nur wissen, warum die finally
Block ausgeführt wird, nachdem er sys.exit(0)
im except
blockieren?
Code :
import sys
def divide_by_zero():
try:
10/0
print "It will never print"
except Exception:
sys.exit(0)
print "Printing after exit"
finally:
print "Finally will always print"
divide_by_zero()
Übrigens habe ich gerade versucht, das Gleiche wie in Java zu tun, wo die finally
Block ist pas ausgeführt, wenn System.exit(0)
ist in der catch
Block.
1 Stimmen
Der "sanfte Ausstieg" ist eigentlich ein sehr praktisches Verhalten. Sie können tun
sys.exit(1)
wenn eine Ausnahme behandelt wird, und dennoch in der Lage sein, einige wichtige abschließende Aufräumarbeiten wie das Schließen von Verbindungen, Dateien usw. durchzuführen.