Справочник · модуль 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.

В этом же уроке