在python中测试何时达到递归限制

时间:2014-04-19 18:06:35

标签: python recursion

有没有办法测试何时达到程序的递归限制?例如:

def funct():
    print "Hello"
    #Some code for testing the recursion limit.
        #Some more code to execute

如果你想知道为什么我想知道这个,这就是为什么:我想隐藏一个程序中的复活节彩蛋,但我不能这样做,直到我发现如何做我要求的。那么,如何测试何时达到递归限制?还有办法吗?

1 个答案:

答案 0 :(得分:4)

您可以使用RuntimeError

来测试try和其他任何错误一样
def funct():
    ...
    try:
       funct()
    except RuntimeError as e:
        if "recursion" in e.message:
            print("Easter egg!")

请注意,我已经添加了额外的检查,指出错误是关于递归的警告,因此您不会阻止任何其他RuntimeError开展业务。