Module (89%)
Section (88%)

Исключения: продолжение

Сейчас хороший момент, чтобы показать Вам еще одну инструкцию 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



Code

import math

x = float(input("Enter a number: "))
assert x >= 0.0

x = math.sqrt(x)

print(x)
{{ dockerServerErrorMsg }} ×
{{ errorMsg }} ×
{{ successMsg }} ×