¿Cómo volver a generar una excepción en los bloques de prueba / excepto anidados?
Sé que si quiero volver a generar una excepción, simplemente usoraise
Sin argumentos en el respectivo.except
bloquear. Pero dada una expresión anidada como
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
¿Cómo puedo volver a elevar elSomeError
sin romper el rastro de pila?raise
solo en este caso volvería a plantear el más recienteAlsoFailsError
. ¿O cómo podría refactorizar mi código para evitar este problema?