
意思是:回溯(最近的一次呼叫)
这里表示您的Python程序出现了异常,括号中通俗的解释就是代码中引发异常的位置。
Python中一般使用try-except捕获异常。这样,如果引发异常,程序可对异常进行处理。避免了Traceback(most recent call last)等这样一些不友好的语句出现。
比如下面一个除零 *** 作:
import traceback
try:
num = 1/0
except:
traceback.print_exc()
Traceback (most recent call last):
File "C:/Users/Administrator/AppData/Roaming/JetBrains/PyCharmCE2021.2/scratches/scratch.py", line 5, in <module>
num = 1/0
ZeroDivisionError: division by zero
黑体标注的是异常具体位置。
如果对异常进行处理,就不会显示这些回溯信息(Trackback这些内容)
try:
num = 1/0
except:
print('异常了')
这里程序只打印‘异常了’这三个字,但在具体编写程序时,不建议这样使用。使用中建议指明具体的异常类型。如下:
try:
num = 1 / 0
except ZeroDivisionError as e:
print(str(e))
打印输出“division by zero”,比Traceback友好多了!
希望回答对您有帮助!
这个是当然的。C++只是封装了一个python的解释器。所以执行的是python的脚本,和python命令行执行几乎没有区别。traceback是因为写python脚本的人,在python脚本里做了一个异常处理,打印出异常的位置。通常这个东西是用来做错误追踪的。
方便程序员去核对错误位置。
不过话说回来,打印出traceback未必就一定是一个错误,也许只是程序员不放心,这种异常,希望跟踪研究一下。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)