Справочник · модуль 7 «Ошибки и отладка»
Ловим нужную ошибку
После except пишут тип ошибки, которую ждут: except ValueError. Остальные ошибки остаются видимыми.
Сравнение из жизни
Как ловить только мяч, а не всё, что летит.
Пример
Опечатку не поймали
try:
print("Итог:", totl)
except ValueError:
print("Это не число")Traceback (most recent call last):
File "main.py", line 2, in <module>
print("Итог:", totl)
^^^^
NameError: name 'totl' is not definedУчитель в уроке После except пишут название ошибки, которую ждут. Здесь это ValueError. Опечатка в имени даёт другую ошибку, NameError. Её мы не ловим, и она видна.
Запомнить
Название ошибки после except — как ловить только мяч. Остальное пусть пролетает, чтобы ты его заметил.
Частые ошибки новичков на этой теме
Кажется: Сообщение об ошибке бесполезно читать
На самом деле: В сообщении есть тип ошибки и номер строки. Это самая быстрая дорога к исправлению.
Кажется: Ошибка всегда в той строке, которую показал Python
На самом деле: Python показывает, где он споткнулся. Причина бывает строкой выше.
Тема из урока 7.2 «try и except» курса PythonAZ.