2

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

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

为什么什么都没有显示?

4

1 回答 1

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......因为你没有在那里放置任何文本,所以你的文本是空字符串......这是打印的内容。

于 2013-06-28T20:18:58.453 回答