python 物件導向高階 異常處理

2022-09-08 23:09:16 字數 1688 閱讀 2303

一. 異常處理

try

:

pass

except

keyerror as e : #注3.x用as ,

except keyerror, e ,2.x 用逗號。

print("

no this key

",e)

except

indexerror as e :

print("

列表操作錯誤

",e)

或者

try

:

pass

except

(keyerror,indexerror) as e : #抓住兩個錯誤

try

:

pass

except keyerror as e : #

抓已知錯誤

print("

no this key

",e)

except exception as e : #

抓未知錯誤

pass

else: #

當沒有錯誤的時候

pass

finally: #

有沒有錯最後都執行

pass

二. 異常型別

attributeerror 試圖訪問乙個物件沒有的樹形,比如foo.x,但是foo沒有屬性x

ioerror 輸入/輸出異常;基本上是無法開啟檔案

importerror 無法引入模組或包;基本上是路徑問題或名稱錯誤

indentationerror 語法錯誤(的子類) ;**沒有正確對齊

indexerror 下標索引超出序列邊界,比如當x只有三個元素,卻試圖訪問x[5]

keyerror 試圖訪問字典裡不存在的鍵

keyboardinterrupt ctrl+c被按下

nameerror 使用乙個還未被賦予物件的變數

syntaxerror python**非法,**不能編譯

typeerror 傳入物件型別與要求的不符合

unboundlocalerror 試圖訪問乙個還未被設定的區域性變數,基本上是由於另有乙個同名的全域性變數,導致你以為正在訪問它

valueerror 傳入乙個呼叫者不期望的值,即使值的型別是正確的

三.自定義異常

1

class xiaolaiexception(exception): #

自定義異常

2def

__init__

(self,msg):

3 self.message =msg45

#def __str__(self):6#

return self.message78

try:

9raise xiaolaiexception('

我的異常

') #

自己寫的異常不會自己觸發,用raise引起。

10except

xiaolaiexception as e:

11print(e)

物件導向 高階

json方式的物件導向 json 把方法包在json裡 json物件導向 有人管他叫 命名空間 在公司裡 把同一類 的方法包在一起 拖拽和繼承 物件導向的拖拽 改寫原有的拖拽 繼承 asdf 拖拽 instanceof 檢視物件是某個類的例項 使用繼承 限制範圍的拖拽類 建構函式的偽裝 屬性的繼承 ...

物件導向高階

public class person public void print public class student extends person 重寫了父類方法 public void print public class demo public class demo 1.不能new這個類,只能靠...

物件導向高階

私有屬性,不能被子類繼承,在屬性的前面加上 就變為了私有屬性 私有方法,不能被子類繼承,在方法的前面加上 就變為了私有方法 只在前面加,後面不加,一般前後都有 的,屬於類當中自帶的方法或屬性 class class test1 str1 a 私有屬性 def init self pass def m...