1. 程式人生 > >15、Python之異常處理

15、Python之異常處理

工作 else OS gpo 錯誤 所有 分享 數據 業務

異常處理

1、 異常處理是所有語言都不可缺少的部分,我們在編寫代碼的時候,有時候會預期到某段代碼可能會發生錯誤,如果錯誤發生了,我們通過異常捕獲,來對發生異常的代碼進行後續處理,比如有一段連接數據庫的代碼,這裏有一個明顯可能發生的異常就是,數據庫連接失敗,對於我們的程序而言,如果數據庫連接失敗了,後續的業務場景就沒法繼續了,因此我會抓住這個異常,然後來開始我們的planB操作。

python中一個完整的異常結構為:

try:
    print("可能發生異常的程序")
except (IOError,IndexError) as e:
    print("發生異常後進行的操作
") except: print("所有異常都沒有抓住的情況下") else: print("沒有發生異常繼續執行") finally: print("不管異是否發生都需要執行,進行收尾工作")

值得要註意的是finally,這裏面的代碼不管異常是否存在都會執行,其原因在於,有些程序不管異常是否發生都需要做一些收尾工作,比如數據庫連接,如果異常發生了,後續代碼不執行,那麽數據庫的連接就沒有關閉。換句話說,finally的作用就是在異常發生之後,程序中斷之前,讓我們做一些收尾工作。

2、寫一個自己的異常

只要繼承Exception的類即可。

技術分享圖片
 1 ‘‘‘
我自己的異常‘‘‘ 2 class MyException(Exception,object): 3 def __init__(self,name): 4 self.name = name 5 def sayHi(self): 6 print("異常發生之後的處理") 7 8 ‘‘‘捕獲我自己的異常‘‘‘ 9 try: 10 raise MyException("我的異常") 11 except MyException as e: 12 e.sayHi()
View Code

15、Python之異常處理