Python異常處理 程式除錯

2021-10-09 07:42:59 字數 2277 閱讀 7929

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 輸入輸出錯誤 如要讀取的檔案不...