请选择 进入手机版 | 继续访问电脑版
设为首页收藏本站

Crossin的编程教室

 找回密码
 立即加入
查看: 14656|回复: 4

请老师指教一下这个代码为什么会报内存溢出

[复制链接]

12

主题

1

好友

307

积分

中级会员

Rank: 3Rank: 3

发表于 2021-3-17 12:42:00 |显示全部楼层
请老师指教一下这个代码为什么会报内存溢出

另外,存草稿的帖子要怎么发表。

download.zip

3 KB, 下载次数: 0

回复

使用道具 举报

12

主题

1

好友

307

积分

中级会员

Rank: 3Rank: 3

发表于 2021-3-17 12:45:42 |显示全部楼层
报错的代码是在这里,我是想让下载方法失败后自动重试三次。然后就报溢出了。

Snipaste_2021-03-17_12-44-38.png
回复

使用道具 举报

174

主题

45

好友

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

发表于 2021-3-17 13:11:12 |显示全部楼层
i = 1 要放前面,不然你这个每次都会被重设为1,当然一直出不去,死循环最后耗尽内存
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

174

主题

45

好友

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

发表于 2021-3-17 13:13:40 |显示全部楼层
而且,重试最好使用循环来写,你这个在函数中调用函数,变成了递归的结构,进一步增加了对资源的消耗

简单的写法:
  1. i = 0
  2. while i < 4:
  3.     try:
  4.         调用可能出错的代码
  5.         break  #没报错自然跳出
  6.     except:
  7.         i += 1


复制代码
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

12

主题

1

好友

307

积分

中级会员

Rank: 3Rank: 3

发表于 2021-3-19 09:39:00 |显示全部楼层
crossin先生 发表于 2021-3-17 13:13
而且,重试最好使用循环来写,你这个在函数中调用函数,变成了递归的结构,进一步增加了对资源的消耗

简单 ...

明白了,谢谢老师!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即加入

QQ|手机版|Archiver|Crossin的编程教室 ( 苏ICP备15063769号  

GMT+8, 2024-3-29 14:15 , Processed in 0.017685 second(s), 25 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部