python Traceback (most recent call last) 错误信息

来源:互联网 发布:软件实施部门职责 编辑:程序博客网 时间:2024/05/12 05:08
如果一个错误出现后没有被捕获(捕获是什么先不管,现在就理解为出现了一个错误),它就一直被往上抛,最终将被Python解释器捕获,然后就在本该输出结果的地方打印一大串错误信息,然后程序退出。
#定义一个名为f1的函数#这个函数接收一个s,将s转化为整数类型后,函数返回1除以s的值def f1(s):    return 1 / int(s)#定义一个名为f2的函数#这个函数调用函数f1(),返回f1()返回值+1def f2(s):    return f1(s)+1#定义一个名为f3的函数#这个函数调用函数f2(),返回f2()返回值+1def f3(s):    return f2(s)+1f3('0')
执行后结果如下:
Traceback (most recent call last):
  File "XXX.py", line 13, in <module>
    f3('0')
  File "XXX.py", line 12, in f3
    return f2(s)+1
  File "XXX.py", line 8, in f2
    return f1(s)+1
  File "XXX.py", line 4, in f1
    return 1 / int(s)
ZeroDivisionError: division by zero
解读错误信息就可以定位错误。Traceback (most recent call last):这是错误的跟踪信息。
File "XXX.py", line 13, in <module>f3('0')
调用f3()出错了,错误出现在文件XXX.py的第13行代码,错误来源第9行:
 File "XXX.py", line 12, in f3   
return f2(s)+1
调用f2()出错了,错误出现在文件XXX.py的第12行代码,错误来源第8行:
File "XXX.py", line 8, in f2   
return f1(s)+1
调用f1()出错了,错误出现在文件XXX.py的第8行代码,错误来源第4行:
File "XXX.py", line 4, in f1   
return 1 / int(s)
return 1 / int(s)出错了,找到了错误的源头。
ZeroDivisionError: division by zero
这是错误类型。
0 0
原创粉丝点击