Как повторно вызвать исключение во вложенных блоках try / кроме?
Я знаю, что если я хочу повторно вызвать исключение, я просто используюraise
без аргументов в соответствующемexcept
блок. Но с учетом вложенного выражения, как
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
как я могу поднятьSomeError
не ломая трассировку стека?raise
один будет в этом случае повторно поднять более недавнийAlsoFailsError
, Или как я могу изменить свой код, чтобы избежать этой проблемы?