Python異常機制機制 學習筆記

Python使用異常處理錯誤

  1. BaseException
  2. SystemExit/Keyboard/Interrupt/GeneratorExit
  3. Exception
    此鏈接python官方文檔底部有異常等級圖看參考

Python使用異常的常見場景

  1. 網絡請求(超時、連接錯誤)
  2. 資源訪問(權限問題,資源不存在)
  3. 代碼邏輯(越界訪問,KeyError等)

Python處理異常模板:

try:
    pass                                # 執行某些可能會出異常的代碼
except (Exception1, Exception2) as e:   # 捕捉到定義的異常
    pass                                # 捕捉到後進行處理
else:                                   # 沒有發生異常
    pass                                # 沒有異常運行的代碼
finally:                                # 無論有沒有出現異常,都會運行的代碼
    pass                                # 常見處理資源的關閉和釋放,做錯誤統計或者進行告警處理

Python如何自定義異常

  1. 繼承Exception實現自定義異常,不繼承BaseException是因爲和Exception同級的也有幾個,而繼承BaseException會導致捕捉到這幾個異常錯誤,比如經典的ctrl+c觸發的KeyboardInterrupt
  2. 給異常添加一些附加信息
  3. 處理業務相關的特定異常raise MyException
class MyException(Exception):
    pass

try:
    raise MyException('my exception')
except MyException as e:
    print(e)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章