Python Traceback (most recent call last) 错误信息:解读示例

如果一个错误出现后没有被捕获(捕获是什么先不管,现在就理解为出现了一个错误),它就一直被往上抛,最终将被Python解释器捕获。然后就在本该输出结果的地方打印一大串错误信息,然后程序退出。

示例代码如下:

定义一个名为f1的函数

接收一个s,将s转化为整数类型后,函数返回1除以s的值

def f1(s):
return 1 / int(s)

定义一个名为f2的函数

调用函数f1(),返回f1()返回值+1

def f2(s):
return f1(s)+1

定义一个名为f3的函数

调用函数f2(),返回f2()返回值+1

def f3(s):
return f2(s)+1

调用f3函数

f3(‘0’)
示例代码执行后结果如下:

D:\Anaconda3\python.exe D:/生活学习日常记录/PycharmProjects/test/main.py
Traceback (most recent call last):
File “D:/生活学习日常记录/PycharmProjects/test/main.py”, line 20, in
f3(‘0’)
File “D:/生活学习日常记录/PycharmProjects/test/main.py”, line 16, in f3
return f2(s)+1
File “D:/生活学习日常记录/PycharmProjects/test/main.py”, line 10, in f2
return f1(s)+1
File “D:/生活学习日常记录/PycharmProjects/test/main.py”, line 4, in f1
return 1 / int(s)
ZeroDivisionError: division by zero

Process finished with exit code 1
解读错误信息就可以定位错误:

解释器在"D:\Anaconda3\python.exe" 执行的程序在"XXX.py"

D:\Anaconda3\python.exe D:/生活学习日常记录/PycharmProjects/test/main.py

错误的跟踪信息

Traceback (most recent call last):

错误出现在文件"XXX.py",第20行代码,错误来源于此执行模块:

File “D:/生活学习日常记录/PycharmProjects/test/main.py”, line 20, in
f3(‘0’) # 出错语句为f3(‘0’)

f3(‘0’)是导致报错的“直接原因”语句

错误出现在文件"XXX.py",第16行代码,错误来源于函数f3():

File “D:/生活学习日常记录/PycharmProjects/test/main.py”, line 16, in f3
return f2(s)+1 # 出错语句为return f2(s)+1

错误出现在文件"XXX.py",第10行代码,错误来源于函数f2():

File “D:/生活学习日常记录/PycharmProjects/test/main.py”, line 10, in f2
return f1(s)+1 # 出错语句为return f1(s)+1

错误出现在文件"XXX.py",第4行代码,错误来源于函数f1():

File “D:/生活学习日常记录/PycharmProjects/test/main.py”, line 4, in f1
return 1 / int(s) # 出错语句为return 1 / int(s)

return 1 / int(s)是导致报错的“根本原因”语句

错误类型是:除以零

ZeroDivisionError: division by zero

  • 7
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值