最佳答案
我希望处理 AssertionError
,这样既可以向用户隐藏堆栈跟踪的不必要部分,又可以打印一条消息,说明错误发生的原因以及用户应该如何处理。
有没有办法找出 except
块中哪一行或哪一条语句的 assert
失败了?
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 7 == 7, "7 == 7"
因为它会重复信息。