python 異常處理

2021-08-14 15:42:36 字數 1706 閱讀 5501

一. 常見錯誤型別

二. 錯誤、除錯和測試

在程式執行過程中,總會遇到各種各樣的錯誤。

有的錯誤是程式編寫有問題造成的,比如本來應該輸出整數結果輸出了字串,這種錯誤我們通常稱之為bug,bug是必須修復的。

有的錯誤是使用者輸入造成的,比如讓使用者輸入email位址,結果得到乙個空字串,這種錯誤可以通過檢查使用者輸入來做相應的處理。

還有一類錯誤是完全無法在程式執行過程中**的,比如寫入檔案的時候,磁碟滿了,寫不進去了,或者從網路抓取資料,網路突然斷掉了。這類錯誤也稱為異常,在程式中通常是必須處理的,否則,程式會因為各種問題終止並退出。

python內建了一套異常處理機制,來幫助我們進行錯誤處理。

此外,我們也需要跟蹤程式的執行,檢視變數的值是否正確,這個過程稱為除錯。

python的pdb可以讓我們以單步方式執行**。

最後,編寫測試也很重要。有了良好的測試,就可以在程式修改後反覆執行,確保程式輸出符合我們編寫的測試。

1. 錯誤處理

用 try 來執行可能會出錯的**,如果執行正確,則except 語句塊不會執行;如果執行錯誤,直接跳轉至錯誤處理**,即except語句塊;如果有 finally 語句塊,不管try語句塊內容是否正確,都會執行 finally語句塊

2. 丟擲錯誤

錯誤是 class,捕獲乙個錯誤就是捕獲到該 class 的乙個例項

定義乙個錯誤的 class,選擇好繼承關係,然後,用raise 語句丟擲乙個錯誤的例項

3. 記錄錯誤

如果不捕獲錯誤,python 直譯器會列印出錯誤資訊,但程式也被結束;但捕獲錯誤就可以把錯誤資訊列印出來,然後分析錯誤原因,同時,讓程式繼續執行下去

4. 除錯- logging

5. 除錯- pdb

pdb讓程式以單步方式執行,隨時檢視執行狀態。n 可以單步執行**,p 變數名 來檢視變數,q 結束除錯,退出程式。

如果在可能出錯的地方放乙個 pdb.set_trace() ,就可以設定乙個斷點。程式會自動在 pdb.set_trace() 暫停並進入 pdb 除錯環境, p 檢視變數, c 繼續執行

python異常處理 Python 異常處理

使用者輸入不完整 比如輸入為空 或者輸入非法 輸入不是數字 異常就是程式執行時發生錯誤的訊號,在python中,錯誤觸發的異常如下 在python中不同的異常可以用不同的型別 python中統一了類與型別,型別即類 去標識,不同的類物件標識不同的異常,乙個異常標識一種錯 觸發indexerror 觸...

python異常舉例 Python異常處理

1.1異常問題舉例 例一 i input 請輸入數字 請輸入數字 0 print i print 5 int i traceback most recent call last file line 1,in zerodivisionerror division by zero 上述 的報錯是除零的錯...

python異常處理

當你的程式中出現異常情況時就需要異常處理。比如當你開啟乙個不存在的檔案時。當你的程式中有一些無效的語句時,python會提示你有錯誤存在。下面是乙個拼寫錯誤的例子,print寫成了print。python是大小寫敏感的,因此python將引發乙個錯誤 print hello world file l...