Пропуск итераций в Python
У меня есть цикл, но есть возможность для исключений, которые будут подняты внутри цикла. Это, конечно, остановило бы мою программу. Чтобы предотвратить это, я ловлю исключения и обрабатываю их. Но затем остальная часть итерации выполняется, даже если произошло исключение. Есть ли ключевое слово для использования в my except:
предложение просто пропустить остальную часть текущей итерации?
6 ответов
что-то вроде этого?
for i in xrange( someBigNumber ):
try:
doSomethingThatMightFail()
except SomeException, e:
continue
doSomethingWhenNothingFailed()
пример для продолжения:
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
для этого конкретного случая использования с помощью try..except..else
- это чистое решение, будет выполнено, если исключение не возникло.
Примечание:else
предложение должно следовать all except
п.
for i in iterator:
try:
# Do something.
except:
# Handle exception
else:
# Continue doing something