我后来发现一个答案,因为PEP 3110解释了在Python
3中,捕获的名称在
except套件末尾被删除,以实现更有效的垃圾收集。如果您希望避免这种情况,还建议使用语法:
可以很容易地翻译出需要在except套件末尾附近保留异常实例的情况,就像这样
try: ...except E as N: ......变成
try: ...except E as N: n = N ...…这样,当在块的末尾删除N时,n将保留并可以正常使用。

我后来发现一个答案,因为PEP 3110解释了在Python
3中,捕获的名称在
except套件末尾被删除,以实现更有效的垃圾收集。如果您希望避免这种情况,还建议使用语法:
可以很容易地翻译出需要在except套件末尾附近保留异常实例的情况,就像这样
try: ...except E as N: ......变成
try: ...except E as N: n = N ...…这样,当在块的末尾删除N时,n将保留并可以正常使用。