Справочник · модуль 7 «Ошибки и отладка»
Raise
Команда raise сама создаёт ошибку: raise ValueError("текст"). Так функция сообщает, что получила плохие данные.
Сравнение из жизни
Как поднять флажок «здесь что-то не так».
Пример
Функция подняла ошибку сама
def set_age(age):
if age < 0:
raise ValueError("Возраст не бывает отрицательным")
return age
print(set_age(-5))Python сообщает об ошибке
Traceback (most recent call last):
File "main.py", line 6, in <module>
print(set_age(-5))
~~~~~~~^^^^
File "main.py", line 3, in set_age
raise ValueError("Возраст не бывает отрицательным")
ValueError: Возраст не бывает отрицательнымУчитель в уроке Команда raise значит «поднять». После неё пишут вид ошибки и сообщение в скобках. Функция увидела минус и остановила программу. И сказала почему.
Запомнить
raise — как поднять флажок «стоп». Функция сама сообщает: мне дали плохие данные.
Тема из урока 7.3 «Защита и свои ошибки» курса PythonAZ.