【Python】在for循环里记录报错的次数error,如果遇到连续发生错误 X次时,则跳出循环的写法
有时候,我们在写好的for循环程序里,会有遇到一些不能预测的报错,有时候在测试的时候并没有遇到这样的错误,但是长时间挂着程序运行的时候,就会遇到了问题,然后就会在循环里一直会出现这个问题,并不断报错。
为了避免不断报错的问题,我们可以在循环里,插入了try except 。
如果遇到error, 计算出现的次数,记录报错的次数。
而如果报错次数过多,则退出循环即可。
这个有个问题:怎么在try except 里面记录次数,只有遇到错误才开始记录,如果运行没有问题,则不会被记录。
这就需要有一个前置的值error_count ,用于记录连续的错误error
如果error不连续出现时,error_count 会归为0,如果连续5次循环里都报错,循环则停下来。
思路:
要实现这个功能,可以在循环外,使用一个计数器 error_count 来记录连续报错的次数。
如果在某次循环中没有报错,则将error_count 重置为 0。
如果连续报错次数达到 5 次,则停止循环:
# 示例代码
error_count = 0 # 初始化连续报错次数计数器for i in range(1, 101): # 假设循环 100 次try:# 模拟可能出现错误的代码print(f"正在执行第 {i} 次循环")# 假设某些情况下会报错if i % 7 == 0: # 假设每第 7 次循环会报错raise ValueError("模拟错误")# 如果没有报错,重置 error_counterror_count = 0except Exception as e:# 捕获错误并打印错误信息print(f"第 {i} 次循环出现错误:{e}")error_count += 1 # 增加连续报错次数print(f"连续报错次数:{error_count}")# 如果连续报错次数达到 5 次,停止循环if error_count >= 5:print("连续报错次数达到 5 次,停止循环")break
上面的代码逻辑说明:
首先,在循环外部初始化一个变量 error_count,用于记录连续报错的次数。
在for循环中,执行一下的代码:
1. 如果代码正常执行,说明没有报错,此时将 error_count 重置为 0。
2. 使用 try 块,直到发现可能出现错误的代码。
3. 如果捕获到错误:
- 每次捕获到错误时,将 error_count 加 1。
- 如果 error_count 达到 5 次,使用 break 语句退出循环。
- 循环的结束条件:
如果没有连续报错 5 次,则循环继续。
如果连续报错 5 次,循环停止。