首页 > 解决方案 > 如何测试由保存的异常引起的循环?

问题描述

我说的是这个问题:https ://bugs.python.org/issue36820 。

小总结:

保存异常会导致循环引用,因为异常的数据包括包含堆栈帧的回溯,其中包含保存异常的变量。

try:
    1/0
except Exception as e:
    ee = e

代码没有损坏,因为 Python 最终会使用其垃圾收集器释放内存。但是可以避免整个站点:

try:
    1/0
except Exception as e:
    ee = e
finally:
    ee = None

在链接的 bpo-36820 中,有一个弱引用保持活动状态的演示。

我的问题是是否存在不需要编辑函数本身的测试。就像是

模块能gc做到吗?

标签: pythongarbage-collection

解决方案


推荐阅读