我是靠谱客的博主 魁梧钥匙,最近开发中收集的这篇文章主要介绍Fatal Python error: Cannot recover from stack overflow.(嵌套层数过多超出限制),觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
猜测是是try、except进入receive()函数子层数量太多了,嵌套太多层(据说默认1000层)超出python规定范围导致报错。。。以后估计不能使用这种结构了。。。通过sys.setrecursionlimit()函数可以更改嵌套层数上限
import sys
sys.setrecursionlimit(10000)
那么怎么才能让函数出错后继续运行呢?
我直接加个while True循环将tryexcept包裹就行了:
或者还可以使用尾递归?不过经过测试发现python貌似不支持尾递归。。。
参考文章:爬虫遇到栈溢出(stack overflow)的问题
最后
以上就是魁梧钥匙为你收集整理的Fatal Python error: Cannot recover from stack overflow.(嵌套层数过多超出限制)的全部内容,希望文章能够帮你解决Fatal Python error: Cannot recover from stack overflow.(嵌套层数过多超出限制)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复