[英]How to skip iterations in a loop?
我有一個循環,但有可能在循環內引發異常。 這當然會停止我的程序。 為了防止我捕獲異常並處理它們。 但是,即使發生了異常,其余的迭代也會運行。 在我的except:
子句中是否有一個關鍵字可以用來跳過當前迭代的其余部分?
您正在尋找繼續。
for i in iterator:
try:
# Do something.
pass
except:
# Continue to next iteration.
continue
繼續示例:
number = 0
for number in range(10):
number = number + 1
if number == 5:
continue # continue here
print('Number is ' + str(number))
print('Out of loop')
輸出:
Number is 1
Number is 2
Number is 3
Number is 4
Number is 6 # Note: 5 is skipped!!
Number is 7
Number is 8
Number is 9
Number is 10
Out of loop
像這樣的東西?
for i in xrange( someBigNumber ):
try:
doSomethingThatMightFail()
except SomeException, e:
continue
doSomethingWhenNothingFailed()
我想你正在尋找繼續
對於這個特定用例,使用try..except..else
是最干凈的解決方案,如果沒有引發異常, else
子句將被執行。
注意: else
子句必須跟在所有的except
子句之后
for i in iterator:
try:
# Do something.
except:
# Handle exception
else:
# Continue doing something
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.