有没有像break
和continue
这样的命令可以重复最近的迭代?
例如,抛出异常时。
for i in range(0,500):
try:
conn = getConnection(url+str(i))
doSomething(conn)
except:
repeat
让我们进行一次迭代,其中 i
变量的值为 6
。在此迭代期间,发生了一些连接错误。我想重复这个迭代。
有没有可以做到这一点的命令?
我当然可以这样做:
i=0
while i!=500:
try:
conn = getConnection(url+str(i))
doSomething(conn)
i+=1
except:
pass
最佳答案
不,Python 中没有“倒回”for 循环的命令。
您可以在 for 循环中使用 while True:
循环:
for i in range(500):
while True:
try:
conn = getConnection(url+str(i))
doSomething(conn)
except Exception: # Replace Exception with something more specific.
continue
else:
break
或者没有else:
:
for i in range(500):
while True:
try:
conn = getConnection(url+str(i))
doSomething(conn)
break
except Exception: # Replace Exception with something more specific.
continue
但我个人认为您提出的解决方案更好,因为它避免了缩进级别。
关于python - 如果发生错误,则在循环中重复迭代,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27237478/