Python可以循环运行直到RuntimeError:调用Python对象时超出了最大递归深度

use*_*318 4 python error-handling recursion runtime-error runtime

我正在运行一个递归循环来实现对某些事物的最大优化,并且达到了代码命中RuntimeError: maximum recursion depth exceeded while calling a Python object的点.这是预期的,但我想在它遇到该错误之前就停止代码,这样我就可以在那时查看我的数据.

是否有可能有一个while循环说类似的东西?像"嘿,运行此循环直到达到最大递归深度.一旦到达,停止并返回."

谢谢您的帮助!

Mat*_*yra 6

您可以执行以下操作

def recurse():
  try:
    recurse()
  except RuntimeError as e:
    if e.message == 'maximum recursion depth exceeded while calling a Python object':
      # don't recurse any longer
    else:
      # something else went wrong
Run Code Online (Sandbox Code Playgroud)

http://docs.python.org/tutorial/errors.html

注意:找出最大递归深度错误的错误号并检查它而不是错误字符串可能是值得的.