7. 错误、调试和测试
在程序运行过程中,总会遇到各种各样的错误。 有的错误是程序编写有问题造成的,比如本来应该输出整数结果输出了字符串,这种错误我们通常称之为bug,bug是必须修复的。 有的错误是用户输入造成的,比如让用户输入email地址,结果得到一个空字符串,这种错误可以通过检查用户输入来做相应的处理。 还有一类错误是完全无法在程序运行过程中预测的,比如写入文件的时候,磁盘满了,写不进去了,或者从网络抓取数据,网络突然断掉了。这类错误也称为异常,在程序中通常是必须处理的,否则,程序会因为各种问题终止并退出。 Python内置了一套异常处理机制,来帮助我们进行错误处理。 此外,我们也需要跟踪程序的执行,查看变量的值是否正确,这个过程称为调试。Python的pdb可以让我们以单步方式执行代码。 最后,编写测试也很重要。有了良好的测试,就可以在程序修改后反复运行,确保程序输出符合我们编写的测试。 错误处理 在程序运行过程中,如果发生了错误,可以预先约定返回一个错误代码,这样就知道是否有错,以及错误的原因了。在操作系统提供的调用中,返回错误代码非常常见。比如打开文件的函数 open() ,成功时返回文件描述符,出错时返回-1。 用错误码来表示是否出错十分不便,因为函数本身该返回的正常结果和错误码混杂在一起,造成调用者必须用大量的代码来判断是否出错: 12345678910111213 def ():...