Исключения: продолжение
Сейчас хороший момент, чтобы показать Вам еще одну инструкцию Python с именем assert
. Это ключевое слово.
assert expression
Как оно работает?
- оно считает выражение;
- если выражение оценивается как
True
, или ненулевое числовое значение, или непустая строка, или любое другое значение, отличное отNone
, оно ничего не делает; - в противном случае оно автоматически и сразу вызывает исключение с именем AssertionError (в этом случае мы говорим, что утверждение неверно).
Как это можно использовать?
- Вы можете захотеть поместить его в свой код, где Вы хотите быть абсолютно защищенными от явно неправильных данных, и когда Вы не совсем уверены, что данные были тщательно проверены ранее (например, внутри функции используется кем-то еще);
- вызов исключения AssertionError защищает Ваш код от получения недопустимых результатов и четко показывает природу ошибки;
- assert не заменяет исключений и не проверяет данные, является их дополнением.
Если исключения и проверка данных похожи на осторожное вождение, assert может играть роль подушки безопасности.
Давайте посмотрим инструкцию assert
в действии. Посмотрите на код в редакторе. Запустите его.
Программа работает без сбоев, если Вы введете правильное числовое значение, большее или равное нулю, в противном случае она останавливается и выдает следующее сообщение:
Traceback (most recent call last):
File ".main.py", line 4, in
assert x >= 0.0
AssertionError
output