python学习笔记(八) - 错误、调试、测试 - 企业简介 - 正定县枫林商贸有限公司
现在的位置: 主页 > 企业简介 > 文章正文
python学习笔记(八) - 错误、调试、测试
作者:正定县枫林商贸有限公司 来源:www.hbflsm.com 发布时间:2017-09-09 10:18:26
python学习笔记(八) - 错误、调试、测试

一.错误处理

1. 使用try .. exception .. finally

try: print 'try...' r = 10 / 0 print 'result:', r # 出现异常不会打印这句话 except ZeroDivisionError, e: # 如果有异常就会被捕获到 print 'except:', e else: print 'no error!' # 如果没有异常就执行else finally: print 'finally...' # finally是肯定会执行的 print 'END' 2. 记录错误:

使用logging.exception(e)

3. 抛出异常:

raise xxError(xxx)

也可以直接写一个raise,此时会把当前错误原样抛出。

二.调试

1. 使用断言:assert

def foo(s): n = int(s) assert n != 0, 'n is zero!' return 10 / n print foo('0') 2. 使用logging.info(xxx)

日志级别:debug, info, warning, error

import logging logging.basicConfig(level=logging.INFO) s = '0' n = int(s) logging.info('n = %d' % n) # INFO:root:n = 0 print 10 / n

3. 使用pdb让程序单步调试:

启动:python -m pdb xx.py

查看代码:输入命令l

单步执行:输入命令n

查看变量:输入命令p + 变量名

退出程序:输入命令q

4. 使用pdb.set_trace()

在可能出错的地方放一个pdb.set_trace()相当于设置了一个断点:

使用p + 变量名 查看变量, 使用命令c继续运行

import pdb s = '0' n = int(s) pdb.set_trace() # 运行到这里会自动暂停 print 10 / n

三.单元测试

单元测试:

import unittest class TestXX(unittest.TestCase): def setUp(self): print 'setUp...' def tearDown(self): print 'tearDown...' def test_init(self): d = 1 self.assertEquals(d, 1) self.assertTrue(isinstance(d, int)) 运行方法: python -m unittest TestXX

setUp和tearDown的作用:

假设测试时需要启动数据库,那么setUp方法中可以写连接数据库的代码,站群,tearDown方法中写关闭数据库连接的代码。

企业建站2800元起,携手武汉肥猫科技,做一个有见地的颜值派!更多优惠请戳:武汉建网站 https://www.feimao666.com


  • 上一篇:Python爬画途旅发现相册
  • 下一篇:最后一页
  • 
    COPYRIGHT © 2015 正定县枫林商贸有限公司 ALL RIGHTS RESERVED.
    本站所有原创信息,未经许可请勿任意转载或复制使用 网站地图 技术支持:肥猫科技
    精彩专题:网站建设
    购买本站友情链接、项目合作请联系客服QQ:2500-38-100