Python Glossary English

все Python 3Исключенияисключение

AssertionError

встроенные исключения

Условие оператора assert оказалось ложным: assert x > 0.

Синтаксис

raise AssertionError

assert — проверка собственных допущений, а не валидация пользовательского ввода: при запуске интерпретатора с флагом -O все assert выбрасываются из байткода, и проверка бесследно исчезает. Классическая ловушка — assert (x > 0, 'сообщение'): скобки превращают аргументы в непустой кортеж, который всегда истинен, поэтому такой assert не сработает никогда. Правильно писать без скобок: assert x > 0, 'сообщение'.

Примеры

try:
    assert 1 == 2
except AssertionError as e:
    print(type(e).__name__)   # → AssertionError

См. также

Открыть в полном глоссарииdocs.python.orgСообщить о неточности