有没有办法测试何时达到程序的递归限制?例如:
def funct():
print "Hello"
#Some code for testing the recursion limit.
#Some more code to execute
如果你想知道为什么我想知道这个,这就是为什么:我想隐藏一个程序中的复活节彩蛋,但我不能这样做,直到我发现如何做我要求的。那么,如何测试何时达到递归限制?还有办法吗?
答案 0 :(得分:4)
您可以使用RuntimeError
try
和其他任何错误一样
def funct():
...
try:
funct()
except RuntimeError as e:
if "recursion" in e.message:
print("Easter egg!")
请注意,我已经添加了额外的检查,指出错误是关于递归的警告,因此您不会阻止任何其他RuntimeError
开展业务。