Je sais que si je veux relancer une exception, j'utilise simplement raise
sans arguments dans les except
bloc. Mais avec une expression imbriquée comme
try:
something()
except SomeError as e:
try:
plan_B()
except AlsoFailsError:
raise e # I'd like to raise the SomeError as if plan_B()
# didn't raise the AlsoFailsError
comment puis-je relancer le SomeError
sans casser la trace de la pile ? raise
seul relèverait dans ce cas le plus récent AlsoFailsError
. Ou comment pourrais-je refactoriser mon code pour éviter ce problème ?