Pour tout possible, essayez-bloc finally en Python, est-il garanti que l' finally
bloc sera toujours exécutée?
Par exemple, disons que je retourne en except
bloc:
try:
1/0
except ZeroDivisionError:
return
finally:
print("Does this code run?")
Ou peut-être que je sur-relance un Exception
:
try:
1/0
except ZeroDivisionError:
raise
finally:
print("What about this code?")
Le test indique que l' finally
n'est exécuté que pour les exemples ci-dessus, mais j'imagine qu'il y a d'autres scénarios que je n'ai pas pensé.
Existe-il des scénarios dans lesquels un finally
bloc peut ne pas s'exécuter en Python?