1、異常處理語句
1.1、try...except...else
說明(1)把可能產生的異常**放在try語句塊中,把處理結果放在except語句塊中。
(2)這樣,當try語句塊中的**出現錯誤時。就會執行except語句塊中的**。
(3)如果try語句塊的**沒有錯誤,那麼except語句塊不會執行。
語法格式
try:
可能產生異常的**塊...
except [exceptionname [as e]]:
處理異常的**塊...(可以輸出固定提示資訊。也可以通過別名輸出異常的具體內容)
else:
指定當try沒有異常時要執行的語句塊...
引數說明
exceptionname [as e]:可選引數。用於指定要捕獲的異常。(不選擇則表示捕獲全部異常)
其中exceptionname表示要捕獲的異常名稱。as e表示給當前的異常指定乙個別名。通過該別名可以記錄異常的具體內容。
1.2、try...except...else
說明把可能產生的異常**放在try語句塊中。把處理結果放在except語句塊中。
這樣。當try語句塊中的**出現錯誤時。就會執行except語句塊中的**。
如果try語句塊的**沒有錯誤。那麼except語句塊不會執行。
1.3、try...except...finally
說明通常。無論程式中有無異常。finally**塊都必須要被執行。
如果分配了有限的資源(如開啟檔案)。則應該將釋放這些資源的**放置在finally**塊中。
1.4、raise語句丟擲異常
說明如果某個函式可能會產生異常。但不想子啊當前函式中處理這個異常。則可以使用raise語句在函式中丟擲異常。
語法格式
raise [exceptionname [(reason)]]
引數說明:
其中reason也可以省略。省略後表示在丟擲異常時不附帶任何描述資訊。
1.5、pass語句忽略異常
1.6、assert語句除錯程式
說明(1)assert一般用於對程式某個時刻必須滿足的條件進行驗證。
(2)assert語句只在除錯階段有效。可以通過在執行python命令時加入-o(大寫)引數來關閉assert語句。
案例如下:
e:cd e:\program\python\code
語法格式
assert expression [。reason]
引數說明:
expression:條件表示式。為真則什麼都不做;為假則丟擲assertionerror異常。
reason:可選引數。用於對判斷條件進行描述
2、python常見異常
syntaxerror
語法錯誤。
案例if action_str in ["1","2","3"]:
# print("您輸入的不正確,請重新選擇!")
執行上面**,將出現如下報錯:
syntaxerror: unexpected eof while parsing
nameerror
嘗試訪問乙個沒有宣告的變數引起的錯誤。
indexerror
索引超出序列範圍引起的錯誤。
valueerror
傳入的值錯誤。
keyerror
請求乙個不存在的字典關鍵字引發的錯誤。
assertionerror
驗證錯誤。
ioerror
輸出/輸入錯誤(例如:讀取的檔案不存在)。
importerror
當import無法找到模組或from無法在模組中找到相應的名稱時引發的錯誤。
attributeerror
嘗試訪問未知的物件屬性引發的錯誤。
typeerror
型別不合適引發的錯誤。
memoryerror
記憶體不足引發的錯誤。
zerodivisionerror
除數為0引發的錯誤。
indentationerror
縮排錯誤。
案例for i in range(10):
if i%2 == 0:
#報錯:
indentationerror: expected an indented block //缺少乙個塊沒寫
#改正:
for i in range(10):
if i%2 == 0:
pass
Python(異常處理與程式除錯)
python標準庫的每個模組都使用了異常,異常在python中除了可以捕獲錯誤,還可以除錯程式。一 python中的異常 異常是指程式中的例外 違例情況。異常機制是指當程式出現錯誤後,程式的處理方法。異常機制提供了程式正常退出的安全通道。當錯誤出現後,程式的流程發生改變,程式的控制權轉移到異常處理器...
python異常處理與程式除錯
使用try語句進行處理異常。一般形式如下 try 要進行捕捉異常的語句 except 異常語句 對異常進行處理的語句 except 異常語句 對異常進行處理的語句 else 未發生異常執行的語句 例1 l 1,2,3,4 try l 7 except 未填寫異常名則表示捕獲所有異常 print er...
python之異常處理及程式除錯
異常描述 nameerror 嘗試訪問乙個沒有宣告的變數引發的錯誤 indexerror 索引超出序列範圍引發的錯誤 indentationerror 縮排錯誤 valueerror 傳入的值錯誤 keyerror 請求乙個不存在的字典關鍵字引發的錯誤 ioerror 輸入輸出錯誤 如要讀取的檔案不...