python基礎7 4 異常處理

2021-09-29 05:22:33 字數 1758 閱讀 1536

# author: mr.xue

# 2019.10.31

#偽**

try:

code

except error1 as e:

print

(e)# except (error2, error3), e: # 2.x的寫法

except

(error2, error3)

as e:

# 3.x的寫法

print

(e)except exception:

# 抓住所有錯誤,不建議一開始使用

code

else

:# 沒有異常執行

print

("all is fine"

)finally

:print

("不管有沒有異常,都執行"

)

# author: mr.xue

# 2019.10.30

class

xueexception

(exception)

:# 自定義異常類

def__init__

(self, msg)

: self.msg = msg

#def __str__(self):

#return self.msg

try:

raise xueexception(

"my error"

)# raise來觸發自定義異常

except xueexception as e:

print

(e)

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

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

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

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

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

dic =

["wupeiqi"

,'alex'

]try

: dic[10]

except indexerror, e:

print e

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

dic =

try:

dic[

'k20'

]except keyerror, e:

print e

keyboardinterrupt ctrl+c被按下

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

syntaxerror python**非法,**不能編譯(個人認為這是語法錯誤,寫錯了)

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

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

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

s1 =

'hello'

try:

int(s1)

except valueerror, e:

print e

python基礎 異常處理

1 0 name 2 3 3 k try print 1111 1 0 print 2222 name 2 3 3 k ret int input number print ret except valueerror print 輸入的資料型別有誤 except exception print 你錯...

python基礎 異常處理

異常是程式執行過程 現的非正常流程現象。異常是無法避免的,只能先預估出可能出現的異常現象,並提供對應的處理機制,在異常出現後保障程式不被中斷執行。格式一 常用 try 可能引發異常現象的 except 出現異常現象的處理 格式二 不常用 try 可能引發異常現象的 finally try 塊結束後執...

Python基礎 異常處理

1 除0運算 zerodivisionerror 2 找不到可讀檔案 filenotfounderror 3 值錯誤 valueerror 4 索引錯誤 indexerror 5 型別錯誤 typeerror 6 變數名錯誤 nameerror 1 try except 單分支 x 10y 0try...