Python异常后继续嵌套循环问题求助:异常触发后无法推进外层循环
解决嵌套循环异常后继续执行的问题
你的代码有两个关键问题导致无法实现需求:
- 外层
p的循环范围是range(1),只会执行p=0这一次,根本不会走到p=1 - 异常时用
break会直接终止当前的j循环,而不是跳过错误项继续
修改后的代码如下:
# 调整p的范围到你需要的,比如range(2)包含p=0和p=1 for p in range(2): for j in range(23): try: b = response_json[0]['countries'][p]['names'][j]['values'] # 这里可以添加对b的处理逻辑 except Exception as e: # 跳过当前出错的j,继续下一个j的循环 continue
说明:
- 把
range(1)改成你实际需要的范围(比如range(2)来覆盖p=0和p=1) - 异常块用
continue代替break,这样遇到错误时只会跳过当前的j,继续执行下一个j;如果不需要捕获异常后的操作,也可以用pass - 尽量不要用裸
except,最好指定具体的异常类型(比如KeyError,因为你是访问字典键,大概率是键不存在),避免捕获到意料之外的异常导致问题被隐藏
内容的提问来源于stack exchange,提问作者Robin_hood_963
相关产品推荐
相关产品推荐

