Как обработать AssertionError в Python и узнать, на какой строке или в каком выражении он произошел?
Я хочу справитьсяAssertionError
s для того, чтобы скрыть от пользователя ненужные части трассировки стека и напечатать сообщение о том, почему произошла ошибка и что пользователь должен с ней сделать.
Is there any way to find out on which line or statement the assert
failed within the except
block?
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"
потому что это повторяет информацию.