1.
try:
print('try...')
r = 10 / 0
print('result: ', r)
except ZeroDivisionError as e:
print('except: ', e)
finally:
print("finally ...")
print("END")
"""
try...
except: division by zero
finally ...
END
"""
没有错误发生,except
语句块不会被执行,但是finally
如果有,则一定会被执行(可以没有finally
语句)。
2.python 可以使用logging类来记录错误信息,可以在执行到错误时打印错误信息,同时,让程序继续执行下去。
3.抛出错误raise
在类中,可以用raise来进行抛出错误,
4.调试方法
1.print输出
2.assert抛出错误 assert n != 0, 'n is zero!' 如果n为零,就抛出'n is zero!'
程序中如果到处充斥着assert,和print()相比也好不到哪去。不过,启动Python解释器时可以用-O(大写字母'O')参数来关闭assert:
3.导入logging库,用logging代替前两个
这就是logging的好处,它允许你指定记录信息的级别,有debug,info,warning,error等几个级别,当我们指定level=INFO时,
logging.debug就不起作用了。同理,指定level=WARNING后,debug和info就不起作用了。这样一来,你可以放心地输出不同级别的信息,
也不用删除,最后统一控制输出哪个级别的信息。