Sur python2.6
Je suppose que, vous attendez le bloc finally pour être à égalité avec les "essayer" bloc où vous soulever l'exception "B". Le bloc finally est attachée à la première "d'essayer" de bloc.
Si vous avez ajouté une exception à bloc à l'intérieur du bloc try, le bloc finally sera raise exception B.
try:
raise Exception("a")
except:
try:
raise Exception("b")
except:
pass
finally:
raise
Sortie:
Traceback (most recent call last):
File "test.py", line 5, in <module>
raise Exception("b")
Exception: b
Une autre variation qui explique ce qui se passe ici
try:
raise Exception("a")
except:
try:
raise Exception("b")
except:
raise
Sortie:
Traceback (most recent call last):
File "test.py", line 7, in <module>
raise Exception("b")
Exception: b
Si vous voyez ici, en remplaçant le bloc finally, sauf soulève l'exception de B.