作为一项实验,我试图捕捉失败的断言。
try: assert 1==2
except Exception as e: print e
为什么没有显示?
答案 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
方法...因为你没有在那里放任何文本,你的文本是空字符串......是什么印刷。