j'ai trouvé le comportement suivant au moins bizarre:retour mange exception
def errors():
try:
ErrorErrorError
finally:
return 10
print errors()
# prints: 10
# It should raise: NameError: name 'ErrorErrorError' is not defined
L'exception disparaît lorsque vous utilisez return
dans une clause finally
. Est-ce un bug? Est-ce documenté n'importe où?
Mais la vraie question (et la réponse que je vais marquer comme correcte) est:
Quelle est la raison des développeurs python d'autoriser ce comportement étrange?
Comportement raisonnable: interdire statiquement 'return' de' enfin'. C'est déroutant comme on le voit. – Elazar