2.3. 错误调试测试

2.3.1. 捕捉异常

和其他的语言类似,通过 try catch 来捕捉异常。

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import logging
try: 
    a =10 
    b =0 
    c =a/b 
except ZeroDivisionError as e :
    logging.exception(e)
else:
    print("no error")
finally: 
    print( "finally")
    

2.3.2. 抛出异常

通过raise来抛出异常。

try:
 10 / 0
except ZeroDivisionError:
   raise ValueError('input error!')

2.3.3. 调试方法

  • print

  • assert

  • logging.info

  • pdb

  • ide

2.3.4. 单元测试

单元测试是用来对一个模块、一个函数或者一个类来进行正确性检验的测试工作。

doctest非常有用,不但可以用来测试,还可以直接作为示例代码。通过某些文档生成工具,就可以自动把包含doctest的注释提取出来。用户看文档的时候,同时也看到了doctest。

import doctest
doctest.testmod()