異常:不正常的情況都稱為異常!
語(yǔ)法錯(cuò)誤!~寫錯(cuò)了!解釋器解釋執(zhí)行時(shí)就會(huì)出錯(cuò)!錯(cuò)誤
運(yùn)行錯(cuò)誤!~運(yùn)行過程中,由于不同數(shù)據(jù)的處理出現(xiàn)的錯(cuò)誤!異常
運(yùn)行結(jié)果錯(cuò)誤!程序沒有出錯(cuò),但是運(yùn)行的結(jié)果不是期望的結(jié)果!BUG
錯(cuò)誤:通過錯(cuò)誤信息的定位,直接修改!
異常:通過處理代碼~將可能出現(xiàn)錯(cuò)誤的代碼包含,進(jìn)行選擇處理:異常處理
BUG:程序中出現(xiàn)的一種業(yè)務(wù)漏洞,需要完善!
?
在現(xiàn)實(shí)生活中,如果出現(xiàn)不正常的情況:處理思路
這件事情可能會(huì)出問題——try
如果出現(xiàn)問題~該做什么 ??except
如果沒有出現(xiàn)問題~該做什么else
這件事情做完了,總結(jié)一下經(jīng)驗(yàn)教訓(xùn)finally
?
異常處理步驟:
(1)?基本處理方式
????????a)在try中包含可能會(huì)出現(xiàn)異常的代碼,在except中直接處理即可!
(2)?多個(gè)異常共同處理
????????a)可以通過except指定異常名稱
????????b)except NameError as e: 捕捉NameError錯(cuò)誤
????????c)except (NameError, ValueError)?as e: 捕捉NameError, ValueError錯(cuò)誤
????????d)except: ?捕捉所有可能出現(xiàn)的錯(cuò)誤!
(3)多個(gè)異常獨(dú)立處理
????????a)每個(gè)異常添加一個(gè)except
?
對(duì)于異常的處理!盡量做到精確處理!
如果你是一個(gè)有非常豐富開發(fā)經(jīng)驗(yàn)的人,對(duì)于常規(guī)異常,~可以直接except: