我有以下代碼:
import time
try:
time.sleep(3)
raise Exception('error')
except Exception or KeyboardInterrupt:
print(">>> Error or keyboard interrupt")
我想捕捉錯誤或鍵盤中斷。但目前,它只捕獲例外,不處理鍵盤中斷。
- 如果我洗掉例外并只留下鍵盤中斷,它只會捕獲鍵盤中斷。
- 如果我洗掉 KeyboardInterrupt 并只留下例外,它只會捕獲例外。
有沒有辦法同時抓住兩者?
uj5u.com熱心網友回復:
如果您想以不同方式處理這兩種情況,最好的方法是使用多個except塊:
import time
try:
time.sleep(3)
raise Exception('error')
except KeyboardInterrupt:
print("Keyboard interrupt")
except Exception as e:
print("Exception encountered:", e)
注意順序!
uj5u.com熱心網友回復:
根據https://docs.python.org/3/tutorial/errors.html#handling-exceptions 你可以使用
except (RuntimeError, TypeError, NameError):
import time
try:
time.sleep(3)
raise Exception('error')
except (Exception, KeyboardInterrupt):
print(">>> Error or keyboard interrupt")
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/461433.html
上一篇:如何按條件將代碼應用于資料幀?
下一篇:在Node.js中Curl到Axios-使用提供的證書實作作業curl請求時出現問題-ECONNRESET/Socket掛起錯誤
