作为一个实验,我尝试捕捉一个失败的断言。
try: assert 1==2
except Exception as e: print e
为什么什么都没有显示?
>>> 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
......因为你没有在那里放置任何文本,所以你的文本是空字符串......这是打印的内容。