• # réponse 4

    Posté par (site web personnel) . En réponse au journal le défi du challenge : qu'affiche ce code. Évalué à 10.

    d'après la doc, 8.4.1 except clause :

    When an exception has been assigned using as target, it is cleared at the end of the except clause. This is as if

    except E as N:
     foo

    was translated to

    except E as N:
     try:
     foo
     finally:
     del N

    This means the exception must be assigned to a different name to be able to refer to it after the except clause. Exceptions are cleared because with the traceback attached to them, they form a reference cycle with the stack frame, keeping all locals in that frame alive until the next garbage collection occurs.