为什么不显示AssertionError?

时间:2013-06-28 20:16:23

标签: python

作为一项实验,我试图捕捉失败的断言。

try: assert 1==2
except Exception as e: print e

为什么没有显示?

1 个答案:

答案 0 :(得分:13)

>>> try: assert 1==2
... except Exception as e: print type(e)
...
<type 'exceptions.AssertionError'>

>>> try: assert 1==2, "They Are Not Equal!!"
... except Exception as e: print e
...
They Are Not Equal!!

至于为什么:当你调用__str__时,它正在调用异常的print方法...因为你没有在那里放任何文本,你的文本是空字符串......是什么印刷。