Как возвратиться к для цикла после обработки исключений

Они разъяснены вполне прилично в intellisense. Просто Система типа . Наборы. или Система. Наборы. Дженерики (предпочтенный) и Вы получите список и краткое описание того, что доступно.

22
задан Community 23 May 2017 в 11:47
поделиться

3 ответа

Используйте continue вместо break .

Оператор pass не работает (это означает, что он не ничего не делаю). Программа просто переходит к следующему оператору, поэтому вы получаете сообщение об ошибке.

break выходит из цикла и продолжает выполнение со следующего оператора сразу после цикла. В этом случае больше нет операторов, поэтому ваша программа завершается.

continue перезапускает цикл, но со следующим элементом. Это именно то, что вам нужно.

41
ответ дан 29 November 2019 в 04:04
поделиться

Попытка на самом деле намного мощнее этого. Здесь также можно использовать блок else:

try:
    stuff
except Exception:
    print "oh no a exception"
else:
    print "oh yay no exception"
finally:
    print "leaving the try block"
12
ответ дан 29 November 2019 в 04:04
поделиться

вы получаете эту ошибку, потому что при возникновении исключения переменная ответа не существует. Если вы хотите оставить код в том виде, в каком он у вас есть, вам нужно будет проверить, существует ли ответ, прежде чем вызывать read

if response:
    bio = response.read()
    ...

, сказав, что я согласен с Марком, что continue - лучшее предложение, чем pass

1
ответ дан 29 November 2019 в 04:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: