¿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?

Respuestas a la pregunta(4)

Su respuesta a la pregunta