我是靠谱客的博主 魁梧钥匙,最近开发中收集的这篇文章主要介绍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.(嵌套层数过多超出限制)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(45)

评论列表共有 0 条评论

立即
投稿
返回
顶部