try: print('try...') r = 10 / int('a') print('result:', r) except ValueError as e: print('ValueError:', e) except ZeroDivisionError as e: print('ZeroDivisionError:', e) finally: print('finally...') print('END')
try: print('try...') r = 10 / 0 print('result:', r) except ZeroDivisionError as e: print('except:', e) finally: print('finally...') print('END')
try: print('try...') r = 10 / int(') print('result:', r) except ValueError as e: print('ValueError:', e) except ZeroDivisionError as e: print('ZeroDivisionError:', e) else: print('no error!') finally: print('finally...') print('END')
def foo(s): return 10 / int(s) def bar(s): return foo(s)*2 def main(): try: bar(') except Exception as e: print('Error:', e) finally: print('finally...') main()
写一个有代码错误的文件:err.py
s = ' n = int(s) print(10 / n)
// 启动Python的调试器pdb
python -m pdb err.py
// 输入l来查看代码
l
// 输入n来单步执行代码,有错误的那个步骤会报错
n
// p 变量名,查看变量的值
p n
// q 结束调试
q
单元测试是用来对一个模块、一个函数或者一个类来进行正确性检测的测试工作