Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/345.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在python中达到递归限制时进行测试_Python_Recursion - Fatal编程技术网

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

在python中达到递归限制时进行测试,python,recursion,Python,Recursion,是否有一种方法可以测试程序何时达到递归限制?例如: def funct(): print "Hello" #Some code for testing the recursion limit. #Some more code to execute 如果你想知道我为什么想知道这一点,以下是原因:我想在程序中隐藏一个复活节彩蛋,但在我发现如何做我要做的事情之前,我无法做到这一点。那么,当达到递归限制时,如何进行测试?有什么办法吗?您可以像测试任何其他错误一样,使用t

是否有一种方法可以测试程序何时达到递归限制?例如:

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

如果你想知道我为什么想知道这一点,以下是原因:我想在程序中隐藏一个复活节彩蛋,但在我发现如何做我要做的事情之前,我无法做到这一点。那么,当达到递归限制时,如何进行测试?有什么办法吗?

您可以像测试任何其他错误一样,使用
try
测试
运行时错误:

def funct():
    ...
    try:
       funct()
    except RuntimeError as e:
        if "recursion" in e.message:
            print("Easter egg!")

请注意,我添加了一个额外的检查,确保错误是关于递归的警告,因此您不会阻止任何其他
运行时错误
继续他们的业务。

您可以像任何其他错误一样测试
运行时错误
,使用
try

def funct():
    ...
    try:
       funct()
    except RuntimeError as e:
        if "recursion" in e.message:
            print("Easter egg!")

请注意,我添加了一个额外的检查,确保错误是关于递归的警告,因此您不会阻止任何其他
运行时错误
继续他们的业务。

与我们分享您到底为什么要测试该限制?@Assaf_Lavie,等等,什么?我说了我想知道这件事的原因。你想让用户拿到复活节彩蛋吗?还是阅读代码的开发人员?我想不出有什么好的理由让生产代码达到发出堆栈溢出异常的状态。只需使用Konami代码或其他什么:)@Assaf_-Lavie用户将到达复活节彩蛋。这可能会很有趣,比如打印一条虚假的错误消息,或者类似的东西。介意和我们分享一下你到底为什么要测试这个极限吗?@Assaf_-Lavie,等等,什么?我说了我想知道这件事的原因。你想让用户拿到复活节彩蛋吗?还是阅读代码的开发人员?我想不出有什么好的理由让生产代码达到发出堆栈溢出异常的状态。只需使用Konami代码或其他什么:)@Assaf_-Lavie用户将到达复活节彩蛋。这将是一些有趣的事情,比如打印一条假错误消息,或者类似的事情。