0
在我看來,那通常你可能需要一個Python程序打印(通常是標準錯誤)僅堆棧跟蹤的最後一行,例如:與堆棧跟蹤的只有最後一行引發錯誤
IOError: Error reading file 'b'plunk'': b'failed to load external entity "plunk"'
我有這個解決方案:
def print_error(ex:Exception, file) -> None:
print('{0}: {1}'.format(ex.__class__.__name__, ex), file=file)
用法示例:
try:
crash in some manner
except Exception as ex:
print_error(ex, sys.stderr)
沒有什麼特別不妥這個,但這個功能似乎很基礎,我不禁想知道是否沒有更簡單的方法來做到這一點。我錯過了什麼嗎?或者這是一個很好的解決方案?
很高興看到使用功能註釋的人。我只是希望你不是用一些裝飾器靜態檢查你的代碼。 – JBernardo
@JBernardo我喜歡註釋;我認爲他們正是Python所需要的 - 由於預期的類型而對代碼進行了澄清,而不需要辭職鴨子打字。不,不做任何類型的靜態檢查! –