错误处理
try
高级语言通常都内置了一套try…except…finally…的错误处理机制,Python也不例外
https://docs.python.org/2/library/exceptions.html#exception-hierarchy 常见的错误类型和继承关系
不需要在每个可能出错的地方去捕获错误,只要在合适的层次去捕获错误就可以了
调用堆栈
如果错误没有被捕获,它就会一直往上抛,最后被Python解释器捕获,打印一个错误信息,然后程序退出
记录错误
如果不捕获错误,自然可以让Python解释器来打印出错误堆栈,但程序也被结束了。既然我们能捕获错误,就可以把错误堆栈打印出来,然后分析错误原因,同时,让程序继续执行下去。
Python内置的logging模块可以非常容易地记录错误信息:
抛出错误
程序也可以主动抛出错误,让调用者来处理相应的错误
调试
断言assert
logging
pdb
pdb.set_trace()
IDE
Python IDE:PyCharm
Eclipse with PyDev
虽然用IDE调试起来比较方便,但是最后你会发现,logging才是终极武器