4
如果我有一個異常被引發,捕獲,然後在except:塊內再次引發的場景,有沒有辦法捕獲它從中提出的初始堆棧幀?在Python中檢索雙重異常原始堆棧跟蹤
以python退出形式打印的堆棧跟蹤描述第二次引發異常的位置。有沒有辦法引發異常,以顯示異常最初拋出的堆棧框架?
如果我有一個異常被引發,捕獲,然後在except:塊內再次引發的場景,有沒有辦法捕獲它從中提出的初始堆棧幀?在Python中檢索雙重異常原始堆棧跟蹤
以python退出形式打印的堆棧跟蹤描述第二次引發異常的位置。有沒有辦法引發異常,以顯示異常最初拋出的堆棧框架?
這是一個常見的錯誤再次指定異常實例,這樣重新拋出異常:
except Exception, ex:
# do something
raise ex
這條原來的追蹤信息,並開始一個新的。你應該做的,而不是爲這個,但沒有明確規定除外(即使用「裸」 raise
):
except Exception, ex:
# do something
raise
這將保留在堆棧跟蹤的所有原始信息。請參閱this section in the docs以獲得有用的背景信息。
這正是我想要的!謝謝! – user196835 2009-12-23 18:42:04