如何正確忽略 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 派生的 KeyboardInterrupt、SystemExit 等,而不是 exceptions.Exception。

眾所周知,最後一個丟擲的異常在 Python 中被記住,一些涉及異常丟擲語句的物件將保留到下一個異常出現之前。我們可能想要執行以下操作,而不是僅僅傳遞

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

這將清除最後丟擲的異常

更新於:2019 年 9 月 27 日

522 次瀏覽

職業生涯開端

完成課程後獲得認證

入門
廣告
© . All rights reserved.