如果你要打印的異常信息,您可以使用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