在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用户将到达复活节彩蛋。这将是一些有趣的事情,比如打印一条假错误消息,或者类似的事情。