При виконанні інструкції
assert
з логічним виразом, результат якого дорівнює True
, нічого не станеться, а якщо False
— згенерується виняток AssertionError
.
def get_user_by_id(user_id):
assert type(user_id) is int, 'user_id must be integer'
print('Searching...')
get_user_by_id(4267)
# Searching...
get_user_by_id('foo')
# AssertionError: user_id must be integer
Винятки AssertionError
призначені скоріше для налагодження. При написанні програм на етапі розробки ми можемо бачити, що робимо щось не так.
Також не потрібно, наприклад, обробляти введення користувача і намагатися обробити виключення AssertionError
блоком try-except
.
#assert // #practice // Python