python-8-错误、调试和测试

调试测试

1、错误处理
1.1、try
  • python内置了一套try机制。若except后存在finally语句块,则执行except之后会执行finally。
  • 不同的错误可以用多个except来捕获。存在Exception。
  • 可以跨越多层调用,最底层出错,只要某个上层捕获到了,就可以处理。不需要在每个可能出错的地方去捕获错误,只要在合适的层次去捕获错误就可以了。
1.2、调用栈
  • 如果没有错误被捕获,就会一直往上抛,最后被Python解释器捕获,打印一个错误信息,然后程序退出。
  • 可视作java的报错信息。
1.3、记录错误
  • 可以使用内置的logging模块记录错误信息。ex: logging.exception(e).
1.4、抛出错误
  • 用raise语句抛出一个错误信息,捕获一个错误就是捕获到该class的一个实例。只有在有必要时才定义错误类型,定义的时候尽量选择内置的错误类型ValueError、TypeError。
  • raise如果不带参数,就会把当前错误原样抛出。
2、调试
  • 可以直接用print()打印出来;
  • 使用断言,凡是用print()的地方,都可以用assert来替代;也需要删除。
  • 使用logging,添加logging.basicConfig(level=logging.INFO)就能看到所有输出了。
  • 使用pdb,使程序以单步方式运行,可以随时查看运行状态。eg: python -m pdb ex1.py。l代表下一段,n代表单步执行代码,p查看变量,q结束调试。
  • 使用pdb.set_trace(),需要import pdb,然后在可能出错的地方放一个pdb.set_trace(),就可以设置断点了。命令c继续执行。
3、单元测试
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章