Python捕獲異常

一.常見異常python

 

1.語法錯誤:SyntaxError:invalid syntax函數

(1)案例:spa

(1)解決方法:3d

①查看代碼有沒有紅色波浪線對象

②熟悉python基本語法blog

 

2.變量名不存在:NameError:name 'b' is not defined繼承

(1)案例:索引

(2)解決方法:字符串

①檢查對應的變量名是否有定義並賦值,是否寫錯了變量名稱it

 

 3.索引錯誤:IndexError: list index out of range

(1)案例:

(2)解決方法:

①檢查lis對象索引選擇是否超出了原本的長度

 

4.關鍵字錯誤:KeyError: 'c'

(1)案例:

(2)解決方法:

①檢查字典裏是否存在這個key值

 

5.類型錯誤:TypeError: list indices must be integers, not str

(1)案例:

(2)解決方法:

①檢查清楚數據類型是否有誤

 

 6.參數傳值錯誤:ValueError: invalid literal for int() with base 10: 'ab'(主要發生在函數裏面)

(1)案例:

(2)解決方法:

①弄清楚形參的數據類型

②再傳對應形參的數據類型

 

7.屬性錯誤:AttributeError: A instance has no attribute 'acc'

(1)案例:

(2)解決方法:

①檢查類裏是否存在這個被調用的方法

②通常不能自動匹配出方法的多半有問題

 

8.輸入輸出錯誤:IOError

(1)案例:

(2)解決方法:

①找到代碼中關於輸入輸出的相關操做

②檢查文件路徑和名稱對不對

 

二.常見異常總結

1.SynataxError:語法錯誤

2.NameError:試圖訪問的變量名不存在

3.IndexError:索引錯誤,使用的因此你不存在,常爲索引超出序列範圍

4.KeyError:使用了映射中不存在的關鍵字(鍵)時引起的關鍵字錯誤

5.TypeError:類型錯誤,內建操做或是函數應於在錯誤類型的對象時會引起類型錯誤

6.ValueError:值錯誤,傳給對象的參數類型不正確,例如給int()函數傳入了字符串數據類型

7.AttributeError:屬性錯誤,特性引用和賦值失敗時會引起屬性錯誤

8.IOError:輸入輸出錯誤

異常不侷限於以上八中,這只是很常見的八種異常

 

三.捕獲異常

1.try...except組合語法

(1)代碼:

try:

  正常的操做

except:

  發生異常,執行這塊代碼

(2)案例:

 

 

2.try...except...else組合語法

(1)代碼:

try:

  正常的操做

except:

  發生異常,執行這塊代碼

else:

  若是沒有異常,執行這塊代碼

(2)案例:

 

3.try...except...except(多個異常處理)

(1)代碼:

try:

  正常的操做

except A:

  發生異常A,執行這塊代碼

except B:

  發生異常B,執行這塊代碼

except:

  發生其它異常,執行這塊代碼

else:

  若是沒有異常,執行這塊代碼

(2)案例:

 

4.try...except(A,B)(一次捕獲多個異常)

(1)代碼:

try:

  正常的操做

except(A,B):

  發生異常A和B,執行這塊代碼

(2)案例:

 

5.try...except...finally組合語法:(try...finally也能夠)

(1)代碼:

try:

  正常的操做

except:

  發生異常,執行這塊代碼

else:

  若是沒有異常,執行這塊代碼

finally:

  無論有沒有異常,都執行這塊代碼

(2)案例:

 

6.try...except(嵌套)

(1)代碼:

try:

  正常的操做

  try:

  正常的操做

  finally:

  無論有沒有異常,都執行這塊代碼

except A:

  發生異常,執行這塊代碼

(2)案例:

 

四.處理異常(在腳本執行不成功時,咱們但願能把信息打印出來)

1.若是已經知道會發生什麼異常:

 

2.不知道會發生什麼異常(萬能的)---------全部的異常都繼承Exception

相關文章
相關標籤/搜索