Как остановить выполнение бесконечного цикла с обработкой исключений? - PullRequest
0 голосов
/ 28 июня 2018

Скажем, я запустил этот код на Python:

 while True:
     try:
         anything that doesn't break loop
     except: pass

Как я могу заставить это остановиться? (Примечание: я подозреваю, что это не тот случай, когда я должен учиться, тестируя).

Конечно, на самом деле я бы использовал выражение break. Это теоретический вопрос; как можно разорвать этот цикл, если передан даже KeyboardInterrupt?

Ответы [ 2 ]

0 голосов
/ 28 июня 2018

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

while True:
    try:
        # anything that doesn't break loop
    except: 
        break

Если бы я хотел выйти из цикла после блока try, я бы сделал:

while True:
    try:
        # anything that doesn't break loop
        break
    except: 
        pass
0 голосов
/ 28 июня 2018

перерыв должен сделать трюк

while True:
     try:
        print("Hello")
        break
     except: pass

В зависимости от того, где вы хотите остановить поток программы, вы можете использовать его внутри блока try или в блоке исключений

while True:
         try:
            print("Hello")

         except: 
              pass
              break
...