1. 程式人生 > >Python之異常設計(一)

Python之異常設計(一)

final 崩潰 進行 n) finally list 發生 err exception

一 定義

異常分為兩類:一類是自動觸發異常如除零錯誤;另一類是通過raise觸發。

二 為什麽要使用異常

  當程序運行時,如果檢測到程序錯誤,Python就會引發異常,我們可以在程序中使用try語句捕獲異常,並對異常進行處理。如果我們不做異常的捕獲,異常就會一直往上層拋出,直到頂層Python的默認異常處理器,默認異常處理器將會停止程序並打印異常,這通常會引起程序崩潰,造成不好的用戶體驗,這不是我們想要的。

三 捕獲異常

try:
    list=[2]
    print(list[1]
except IndexError:
    print(goto exception)

四 引發異常

try
    raise IndexError
except IndexError:
    print(goto exception)

五 自定義異常

class MyException(Exception)
    pass

def raise_error():
    raise MyException()

try:
    raise_error()
except MyException:
    print(goto )

六 終止行為 finally

可以通過finally定義不管是否發生異常都執行的行為。當發生異常時,執行finally塊中的代碼,然後將異常往上拋。比如,我們想要在調用的函數執行完或發生異常時,釋放數據庫連接或確保文件關閉,就可以在finally中來實現

try:
    raise IndexError
finally:
    pass

以上是Python異常的基本知識,我將在下一篇進一步探討異常

Python之異常設計(一)