try:
recursive_function()
except RuntimeError e:
# is this a max. recursion depth exceeded exception?
如何判断何时达到最大递归深度?
try:
recursive_function()
except RuntimeError e:
# is this a max. recursion depth exceeded exception?
如何判断何时达到最大递归深度?
您可以查看异常本身:
>>> def f():
... f()
...
>>> try:
... f()
... except RuntimeError as re:
... print re.args, re.message
...
('maximum recursion depth exceeded',) maximum recursion depth exceeded
不过,我认为您无法区分这与仅仅假装是超出递归深度(运行时)异常的东西。 message
已弃用,因此args
可能是最好的选择,并且与 Python-3 兼容。
更新:在 Python 3.5 中,您可以使用特定的RecursionError
方法来代替。