一. 错误处理
python内置try...except...finally...的错误处理机制。
示例:
当错误发生时,将不会执行print语句,如果把除数0改成2.则执行结果如下:
try:
print 'try...'
r = 10 / 0
print 'result:', r
except ZeroDivisionError, e:
print 'except:', e
finally:
print 'finally...'
print 'END'
当我们认为某些代码可能出错时,就可以使用try来运行这段代码,如果执行出错,则后续代码不会继续执行,二十直接跳转到错误处理代码,即except语句块,执行完except后,如果有finally语句块,则执行finally语句块,至此,执行完毕。
运行结果:
try...
except: integer division or modulo by zero
finally...
END
当错误发生时,将不会执行print语句,如果把除数0改成2.则执行结果如下:
try...
result: 5
finally...
END
同时,可以把多个except链接在一起,处理一个try可能发生的多种异常。
二. 调试
1:使用断言:
一般调试使用情况较多就是用print查看。凡是使用print的地方都可以用断言来代替。
def foo(s):
n = int(s)
assert n != 0, 'n is zero!'
return 10 / n
def main():
foo('0')
当 n != 0 是TRUE时,后面的代码就会出错,否则就会抛出异常。
2. 使用logging
logging 不会抛出异常,而是输出到文件。
logging等级:CRITICAL > ERROR > WARNING > INFO > DEBUG > NOTSET
且标准输出只会输出error以上级别。
三.测试
单元测试是对一个模块、一个函数或者一个类进行正确性检验工作。