Python筆記 異常

2021-09-12 11:05:55 字數 1450 閱讀 3169

1 異常由四個語句處理

try/except----捕捉由python或你引起的異常並恢復

try/finally ----無論異常是否發生,執行清理行為

raise ----手動在**中觸發異常

assert ----有條件地在程式**中觸發異常

2 異常的角色

錯誤處理

事件通知

特殊情況處理

終止行為

非常規控制流程

3 異常處理:簡明扼要

預設異常處理器

捕獲異常

4 try語句的分句形式

分句形式

說明except :

捕捉所有(其他)異常型別

except name:

只捕捉特定的異常

except name,value:

捕捉所列的異常和其額外的資料(或例項)

except (name1,name2):

捕捉任何列出的異常

except (name1,name2),value:

捕捉任何列出的異常,並取得其額外資料

else:

如果沒有引發異常,就執行

finally:

總是會執行此**塊

注:except exception:… 與空的except相同,但忽略和系統退出相關的異常

5 with/as環境管理器

基本格式:

with expression [as variable]: with-block

注意:expression的結果是支援環境協議的物件,variable則是賦值為其他的東西

例如:with open(r'c:\misc\data') as myfile:

for line in myfile:

print(line)

...more code here...

6 環境管理協議(以下是with語句實際的工作方式)

計算表示式,所得到的物件稱為環境管理器,它必須有__enter__和__exit__方法

環境管理器的__enter__方法會被呼叫.如果as子句存在,其返回值會賦值給as子句中的變數,否則,直接丟棄

如果with**塊引發異常,__exit__(type,value,traceback)方法就會被呼叫

如果with**塊沒有引發異常,__exit__方法依然會被呼叫,其type,value以及traceback引數都會以none傳遞

7 內建異常類

baseexception   異常的頂級根類

exception 與應用相關的異常的頂層根超級類.baseexception的乙個直接子類

arithmeticerror 所有數值錯誤的超類

overflowerror 識別特定的數值錯誤的子類

Python筆記 異常處理

python筆記 異常處理 捕獲異常 try 語句 except 異常名1 語句 except 異常名2 語句 else 語句 另一種形式,不包含except和else語句 try 語句 finally 語句 eg.python view plain copy print l 1,2,3,4 try...

Python 異常 學習筆記

python 標準異常總結 try 和 try finally 語句 try 下面是檢測範圍,如發生異常停止在第乙個異常的位置 fh open testfile w fh.write 這是乙個測試檔案,用於測試異常 except oserror as reason 下面是出現異常後輸出的 print...

Python學習筆記 異常

1 異常概念 程式在執行是,如果python直譯器遇到乙個錯誤,會停止程式的執行,並且提示一些錯誤資訊,這就是異常 程式停止執行並且提示錯誤資訊這個動作,我們稱之為 丟擲 raise 異常 程式開發是,很難將所有的特殊情況都處理的面面俱到,通過一異常捕獲可以針對突發事件做集中的處理,從而保證程式的穩...