如果你要打印的异常信息,您可以使用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
啊,那是更容易的确。 我想我的理想场景是如果我可以在错误消息后面打印自己的语句,因为它更具可读性。但我也认为,在筹集资金后,你无法做任何事情。所以除非有一个简单的方法来提取整个错误信息(包括追溯),我认为你的答案是我能做的最好的:) 谢谢! – RobinAugy
只是一个注意,因为你现在不在你的except子句中使用错误字符串'e',你不能只是改变“除了例外作为e:”以“除了:”现在吗? – RobinAugy