Перейти к содержанию

Обработка ошибок (try / except)

Начало урока

Обработка ошибок (try / except)

Как сохранить спокойствие программы, когда что-то идёт не так

Главная идея: Иногда программа сталкивается с проблемой, с которой не может справиться — например, делением на ноль или превращением слова "cat" в число. Обычно программа падает и останавливается. С помощью try / except ты можешь поймать эту проблему и позволить программе продолжить работу, показав понятное сообщение вместо страшной ошибки.
К концу урока ты сможешь:
  • объяснить, что такое исключение (ошибка во время выполнения),
  • написать блок try / except, чтобы поймать ошибку,
  • поймать нужную ошибку, например ValueError или ZeroDivisionError,
  • сделать так, чтобы программа завершалась аккуратно, а не падала.

1. Что такое исключение?

Исключение — это ошибка, которая происходит во время работы программы. Python замечает, что не может сделать то, о чём ты просишь, поэтому останавливается и печатает сообщение об ошибке, которое называется traceback (трассировка).

Вот крошечная программа без защиты. Если человек введёт не целое число, она сломается:

number = int(input("Enter a number: "))
print("Double is", number * 2)

Если человек введёт cat вместо числа, Python упадёт с такой трассировкой:

Traceback (most recent call last):
  File "program.py", line 1, in <module>
    number = int(input("Enter a number: "))
ValueError: invalid literal for int() with base 10: 'cat'

Последняя строка, ValueError, — это имя исключения. У каждого вида ошибок есть имя. Как только ты знаешь имя, ты можешь её поймать.

2. Аналогия: страховочная сетка

Представь канатоходца высоко в воздухе. Чаще всего он проходит по канату спокойно. Но если он поскользнётся, страховочная сетка поймает его, и он не пострадает — представление продолжается.

try — это ты, идущий по канату. except — это сетка внизу. Если ничего не случается, сетка не нужна. Но если ты поскользнёшься (произойдёт ошибка), сетка тебя поймает, и программа продолжит работать, а не рухнет на землю.

Продолжите этот урок на YourAIZone

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

В полном уроке

  • Объяснение целиком
  • Разобранные примеры
  • Частые ошибки и как их избежать
  • Тестовые вопросы: 15
  • ИИ-репетитор, который отвечает на вопросы по теме
  • Отслеживание прогресса для ученика, родителей и учителя