時間:2018-08-07 00:00:00 來源:信盈達 作者:信盈達
1、一般情況下,Python無法正常處理程序時就會發生一個異常。異常是Python對象,表示一個錯誤。當Python腳本發生異常時我們需要捕獲處理它,否則程序會終止執行。
2、異常即是一個事件,該事件會在程序執行過程中發生,影響了程序的正常執行。每一個異常都是一些類的實例,這些實例可以被引用,并且可以用很多種方法進行捕捉,使得錯誤可以被處理,而不是讓整個程序失敗
自定義異常:
1、python允許程序員自定義異常,用于描述python中沒有涉及的異常情況,自定義異常必須繼承Exception類,自定義異常按照命名規范以"Error"結尾,顯示地告訴程序員這是異常。自定義異常使用raise語句引發,而且只能通過人工方式觸發。
2、因為錯誤就是類捕獲一個錯誤就是捕獲該類的一個實例,因此錯誤并不是憑空產生的,而是由一些不合理的部分導致的。python的內置函數會拋出很多類型的錯誤,我們自己編寫的函數也可以拋出錯誤。如果要拋出錯誤,那么可以根據需要定義一個錯誤的類,選擇好繼承關系,然后用raise語句拋出一個錯誤的實例
例11:
class MyError(Exception):
def __init__(self):
pass
def __str__(self):
return "這是一個自定義的錯誤類型"
def MyErrorTset():
try:
raise MyError()
except MyError as error: #except MyError:
print("exception info: ",error) #print("exception info: ",MyError())
MyErrorTset()
#上面代碼的輸出結果為:exception info: 這是一個自定義的錯誤類型
#這種寫法的結果是:如果多個代碼調用這個錯誤類,得到的錯誤信息是一樣的
例11_1:
class CustomError(Exception):
def __init__(self,ErrorInfo):
super().__init__(self) #初始化父類
self.errorinfo = ErrorInfo
def __str__(self):
return self.errorinfo
if __name__ == '__main__':
try:
raise CustomError('客戶異常')
except CustomError as e:
print(e) #上面代碼的輸出結果為:客戶異常
#這種寫法的結果是:在執行具體某個代碼的可以再次自定義錯誤信息(不同代碼調用時,得到的錯誤信息不一樣)
想了解更多學習問題?信盈達專業培訓python+人工智能。

信盈達2008年在深圳特區南山高新科技園成立。自成立至今近九年來專注為企業和個人提供高端方案設計、高端嵌入式/Android培訓等服務。公司下設信盈達實訓學院、信盈達研發中心、信盈達教學儀器三大業務板塊。九年來公司堅持"技術領先、服務領先",以雄厚的實力和專業的品質成為國內唯一有實力從產品最底層研發到系統層開發的嵌入式實訓、產品解決方案提供商。為中國IT行業提供最具價值的職業教育服務。專業培訓i嵌入式、物聯網、人工智能、Java、單片機等課程,想了解更多信息點擊立馬咨詢
免費領取試聽卡
申請已經提交
老師會馬上給您安排試聽課程!
申請出錯了
您可以加老師QQ:914865590報名咨詢!