Я хочу обрабатывать AssertionError
как для того, чтобы скрыть ненужные части трассировки стека от пользователя, так и для вывода сообщения о том, почему произошла ошибка и что пользователь должен с этим делать.
Есть ли способ узнать, в какой строке или операторе assert
произошел сбой в блоке except
?
try:
assert True
assert 7 == 7
assert 1 == 2
# many more statements like this
except AssertionError:
print 'Houston, we have a problem.'
print
print 'An error occurred on line ???? in statement ???'
exit(1)
Я не хочу добавлять это в каждый оператор assert:
assert 7 == 7, "7 == 7"
потому что он повторяет информацию.