想象一下,您有一個函數,在某些錯誤情況下會給出異常並在一些返回中返回None(它不是由我設計的,我需要使用它)。現在,您需要處理這些錯誤,但以相同的方式(向用戶顯示消息,記錄並正常退出)。如何高效地捕獲異常並檢查參數是否無
我一直在做這樣的事情:
try:
result = weird_func()
except:
*same functionality* do something here
if not result:
*same functionality* do the same here as in the except block
但它真的很可怕。有沒有辦法巧妙地將這兩個合成一個? 我一直在想使用try/finally沒有,除了它,但它看起來有點奇怪。
有什麼建議嗎?
把'*相同的功能*'成一個函數,調用該函數在這兩個地方。 – SethMMorton
通常,你的函數應該能夠處理任何類型的輸入,而不會產生錯誤。 –
擁有一個「except」(通常是一個糟糕的主意)(有一些不尋常的特殊情況,例如,在subprocess中存在一個不尋常的特殊情況,但通常會捕獲您關心的異常,而不是每個可能的異常包括'KeyboardInterrupt'和'SystemExit'「)。 – torek