Програма, що не падає
Що буде, якщо користувач замість числа введе «abc»? int("abc") дасть ValueError, і програма впаде. Справжні програми мають бути стійкими. Для цього є try / except:
try: n = int(input()) print(100 / n) except ValueError: print("Це не число!") except ZeroDivisionError: print("На нуль ділити не можна")
Python пробує виконати блок try. Якщо сталася помилка вказаного типу — виконується відповідний except, і програма продовжує працювати.
Повторне введення
while True: try: age = int(input("Вік: ")) break # вдалося — виходимо except ValueError: print("Спробуй ще раз")
➜ПОРАДА
Не пиши порожній
except: без типу помилки — він «ковтає» навіть твої власні помилки в коді, і їх важко знайти.Перевір себе: 3 задачі з автоперевіркою
▶ Розв'язувати задачіПідказки після помилок, розбір кожної задачі, бали й звання. Безкоштовно, можна без реєстрації.