gpt4 book ai didi

python - 打印错误类型、错误语句和自身语句

转载 作者:行者123 更新时间:2023-11-30 23:12:30 25 4
gpt4 key购买 nike

我想尝试一个语句,如果出现错误,我希望它打印收到的原始错误,但也向其中添加我自己的语句。

我一直在寻找这个答案,发现了一些几乎完整的东西here .

下面的代码几乎完成了我想要的一切(我使用的是 Python 2,所以它可以工作):

except Exception, e: 
print str(e)

这样我就可以打印错误消息和我想要的字符串,但是它不会打印错误类型(IOErrorNameError等)。我想要的是它打印与通常情况完全相同的消息(因此 ErrorType: ErrorString)加上我自己的语句。

最佳答案

如果想打印异常信息,可以使用traceback模块:

import traceback
try:
infinity = 1 / 0
except Exception as e:
print "PREAMBLE"
traceback.print_exc()
print "POSTAMBLE, I guess"

这给你:

PREAMBLE
Traceback (most recent call last):
File "testprog.py", line 3, in <module>
infinity = 1 / 0
ZeroDivisionError: integer division or modulo by zero
POSTAMBLE, I guess

您也可以在没有traceback的情况下重新抛出异常,但是,由于它是抛出的异常,因此您之后无法执行任何操作:

try:
infinity = 1 / 0
except Exception as e:
print "PREAMBLE"
raise
print "POSTAMBLE, I guess"

请注意,在这种情况下缺少 POSTAMBLE:

PREAMBLE
Traceback (most recent call last):
File "testprog.py", line 2, in <module>
infinity = 1 / 0
ZeroDivisionError: integer division or modulo by zero

关于python - 打印错误类型、错误语句和自身语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29791833/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com