gpt4 book ai didi

python - 在 for Loop Python 中捕获异常

转载 作者:行者123 更新时间:2023-12-05 02:02:45 24 4
gpt4 key购买 nike

我有以下 for 循环:

for batch in loader:
# do something with batch
...

我的循环有时会失败,同时从加载程序中提取批处理。我想要做的是类似于下面的代码片段,但我希望能够在下一个值上继续循环,而不是跳过其余的值。

error_idxs = [] 

try:
for i,batch in enumerate(loader):
# do something with batch
...
except:
error_idxs.append(i)

上述方法的问题是一旦发生异常就退出循环,而不是继续下一批。

有没有办法在下一批继续循环?

最佳答案

error_idxs = []
i = 0
while True:
try:
batch = next(loader)
# do something
except StopIteration:
break
except Exception:
error_idxs.append(i)
finally:
i += 1

编辑:将 StopIterationError 更正为 StopIteration 并删除了 continue

关于python - 在 for Loop Python 中捕获异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65611146/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com