Исключая перерывы в Python - PullRequest
0 голосов
/ 07 апреля 2020

Я знаю, это звучит безумно, но я не мог найти решение. Я пытался исключить оператор break внутри al oop, используя try-except.
Вот что я пытался:

for i in range(10):
    try:
        print(i)
        break
    except break:
        print("Break excepted")
        pass

Но Python3.x возвращает ошибку:

SyntaxError: invalid syntax

Итак, как мне, кроме оператора break?
Ps: я знаю, что мог бы иметь оператор print перед оператором break и избегать оператора break, но если я захочу, как бы я?

1 Ответ

1 голос
/ 07 апреля 2020

Вы не можете добавить исключение break, поскольку break не является исключением.

Также с потоком операций, если l oop не может быть запущен, ваш print(i) не будет выполнен и поэтому код все равно не достигнет оператора break.

Если вы пытаетесь найти, при каком значении l oop код нарушается, ваш код также должен работать без прерывания.

for i in range(10):
    try #try running the loop
        print(i)
    except: #if the loop breaks
        print("Break excepted") #print this and continue loop

Поскольку try находится внутри цикла for; когда есть исключение, l oop все равно продолжит следующую итерацию.

Конечно, вы также можете перехватить больше специфических c исключений, таких как except IndexError или except KeyError. Полный список исключений доступен в документации.

...