一.常見異常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