如何在 Python 中正確忽略異常?


可以透過遵循以下程式碼來完成此操作

try:
x,y =7,0
z = x/y
except:
pass

或者

try:
x,y =7,0
z = x/y
except Exception:
pass


這些程式碼繞過了 try 語句中的異常並忽略了 except 子句,並且不會引發任何異常。

以上程式碼的不同之處在於,第一個也會捕獲直接派生自 exceptions.BaseException(而不是 exceptions.Exception)的 KeyboardInterrupt、SystemExit 等異常。

已知 Python 中會記住最後丟擲的異常,某些參與丟擲異常語句的物件會一直保留到下一個異常之前。我們可能希望執行以下操作,而不是僅僅傳遞

try:
x,y =7,0
z = x/y
except Exception:
sys.exc_clear()

這會清除最後丟擲的異常

已更新: 27-9-2019

522 次瀏覽

啟動您的 職業

透過完成課程獲得認證

開始
廣告
© . All rights reserved.