1.錯誤和異常的處理方式
文法錯誤:代碼不符合解釋器或者編譯器文法。
邏輯錯誤:不完整或者不合法輸入或者計算出現問題。
異常:執行過程中出現問題導緻程式無法執行。
程式遇見邏輯或算法問題
運作過程中計算機錯誤(記憶體不夠或者IO錯誤)
錯誤:
代碼運作前的文法或邏輯錯誤
文法錯誤在執行前修改,邏輯錯誤無法修改
異常分為兩個步驟:
異常産生,檢查到錯誤且解釋器認為是異常,抛出異常
異常處理,截獲異常,忽略或終止程式處理異常
常見錯誤:
name Error 變量沒定義
Systax Error 文法錯誤
IO Error 檔案錯誤
Zero DivisionError 10/0,除零錯誤
Value Error 值錯誤,例如a = int(‘aa’)
keyboard Interrupt 強制終止程式産生,ctrl+c強制終止程式運作
使用try_except處理異常:
try:
try_suite #要處理的邏輯代碼
except Exception[e]: #Exception是要處理的異常類,e用于儲存出現異常的類型
exception_block #處理捕獲異常之後的邏輯
try用來捕獲try_suite中的操作,并且将錯誤交給except處理。
except用來處理異常,如果處理異常和設定異常一緻,使用exception_block處理異常,不一緻的話就會被解釋器處理,如果有e設定時,這個錯誤就會儲存在e中。
代碼示例:
#coding=utf-8
try:
a
except NameError , e:
print ‘Error:’,e
print ‘over’
#輸出結果
Error: name ‘a’ is not defined
over