C'est un code qui se comporte de façon particulière. Il s'agit d'une version simplifiée du comportement que j'ai écrit. Cela démontrera quand même le comportement bizarre et j'ai eu quelques questions spécifiques sur la raison pour laquelle cela se produit.
J'utilise Python 2.6.6 sous Windows 7.
def demo1():
try:
raise RuntimeError,"To Force Issue"
except:
return 1
else:
return 2
finally:
return 3
def demo2():
try:
try:
raise RuntimeError,"To Force Issue"
except:
return 1
else:
return 2
finally:
return 3
except:
print 4
else:
print 5
finally:
print 6
Résultats :
>>> print demo1()
3
>>> print demo2()
6
3
- Pourquoi la démo 1 renvoie 3 au lieu de 1 ?
- Pourquoi la démo 2 imprime-t-elle 6 au lieu d'imprimer 6 avec 4 ou 5 ?