Crossin的编程教室

标题: 请老师指教一下这个代码为什么会报内存溢出 [打印本页]

作者: xielong0120    时间: 2021-3-17 12:42
标题: 请老师指教一下这个代码为什么会报内存溢出
请老师指教一下这个代码为什么会报内存溢出

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

download.zip

3 KB, 下载次数: 0


作者: xielong0120    时间: 2021-3-17 12:45
报错的代码是在这里,我是想让下载方法失败后自动重试三次。然后就报溢出了。

Snipaste_2021-03-17_12-44-38.png (8.9 KB, 下载次数: 701)

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


作者: crossin先生    时间: 2021-3-17 13:11
i = 1 要放前面,不然你这个每次都会被重设为1,当然一直出不去,死循环最后耗尽内存
作者: crossin先生    时间: 2021-3-17 13:13
而且,重试最好使用循环来写,你这个在函数中调用函数,变成了递归的结构,进一步增加了对资源的消耗

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


复制代码

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

简单 ...

明白了,谢谢老师!




欢迎光临 Crossin的编程教室 (https://bbs.crossincode.com/) Powered by Discuz! X2.5