Je suis tombé sur un comportement étrange en python. Je n'ai pas pu trouver d'informations à ce sujet dans l'aide python ou sur SE alors voici :
def divide(x, y):
print 'entering divide'
try:
return x/y
except:
print 'error'
else:
print 'no error'
finally:
print 'exit'
print divide(1, 1)
print divide(1, 0)
le résultat:
entering divide
exit
1
entering divide
error
exit
None
Il semble que python n'entrera pas dans le else
si une valeur est renvoyée dans le try
. Cependant, il ira toujours dans le bloc finally
Je ne comprends pas vraiment pourquoi. Quelqu'un peut-il m'aider avec cette logique?
Merci