Python筆記 異常處理

2021-06-18 07:01:55 字數 2144 閱讀 4237

python筆記——異常處理

捕獲異常

try:

《語句》

except 《異常名1>:

《語句》

except 《異常名2>:

《語句》

else:

《語句》

另一種形式,不包含except和else語句

try:

《語句》

finally:

《語句》

eg.[python]view plain

copy

print

?

l = [1,2,3,4]  

try:  

print(l[5])  

except:  

print("error")  

else:  

print("no error")  

finally:  

print("finally")  

常見的異常:

attributeerror 呼叫不存在的方法引發的異常

eoferror 遇到檔案末尾引發的異常

importerror 匯入模組出錯引發的異常

indexerror 列表月越界引發的異常

ioerror i/o操作引發的異常,如開啟檔案出錯等

keyerror 使用字典中不存在的關鍵字引發的異常

nameerror 使用不存在的變數名引發的異常

taberror 語句塊縮排不正確引發的異常

valueerror 搜尋列表中不存在值引發的異常

zerodivisionerror 除數為零引發的異常

eg.try:

l[2]/0

except indexerror:

print('indexerror')

except zerodivisionerror:

print('zerodivisionerror')

else:

print 'no error'

多重異常的處理

可以在try語句中巢狀另乙個try語句

一旦發生異常,python匹配最近的except語句,

若是內部except能夠處理該異常,則外圍try語句不會捕獲異常。

若是不能,或者忽略,外圍try處理

引發異常

python中可以通過raise語句手工引發異常,並向異常傳遞資料

使用raise可以定義新的錯誤型別,以適應指令碼的需要

格式:raise 異常名

raise 類名(異常資訊)

捕獲時:

except myexception as e:

print(e)  #將列印出異常資訊

[python]view plain

copy

print

?

#自定義異常  

class lengthrequiredexception(exception):  

def __init__(self,length,minlength):  

exception.__init__(self)  

self.length = length  

self.minlength = minlength  

#引發自定義的異常  

l = [1,2,3,4,5]  

minlength = 6  

try:  

raise lengthrequiredexception(len(l),minlength)  

except indexerror:  

print("index out of bounds")  

except lengthrequiredexception as e:  

print("length not fit :length is %d required %d" %(e.length,e.minlength))  

else:  

print("no exception was raised")  

finally:  

print("finally will be execute")  

以上兩段程式執行結果:

分享到:

python筆記 異常處理

1.狹義的異常處理 當一次請求多個網頁時,如果其中乙個網頁出錯,那麼整個程式就會終止,造成其他網頁都無法完成請求。所以需要通過異常處理將可能出錯的網頁進行處理,以至於其他網頁能被請求。import requests urls defget data url data requests.get url...

Python 異常處理筆記

異常處理 異常 程式執行過程 現的錯誤和警告 異常類 給不同的種類的異常分的型別 nameerror 標示符未定義錯誤 print a typeerror 型別錯誤 print abcd 123 indexerror 下標越界錯誤 lis 紅燒肉 香辣烤魚 火鍋 print lis len lis ...

python異常處理 Python 異常處理

使用者輸入不完整 比如輸入為空 或者輸入非法 輸入不是數字 異常就是程式執行時發生錯誤的訊號,在python中,錯誤觸發的異常如下 在python中不同的異常可以用不同的型別 python中統一了類與型別,型別即類 去標識,不同的類物件標識不同的異常,乙個異常標識一種錯 觸發indexerror 觸...