python錯誤 除錯和測試

2021-08-17 08:11:21 字數 1305 閱讀 2184

錯誤、除錯和測試

當我們認為某些**可能會出錯時,就可以用try來執行這段**,如果執行出錯,則後續**不會繼續執行,而是直接跳轉至錯誤處理**,即except語句塊,執行完except後,如果有finally語句塊,則執行finally語句塊,至此,執行完畢。

出錯的時候,一定要分析錯誤的呼叫棧資訊,才能定位錯誤的位置。

try:

print('try...')

r = 10 / int('a')

print('result:', r)

except valueerror as e:

print('valueerror:', e)

except zerodivisionerror as e:

print('zerodivisionerror:', e)

finally:

print('finally...')

print('end')

常見的錯誤型別和繼承關係:

丟擲錯誤

如果要丟擲錯誤,首先根據需要,可以定義乙個錯誤的class,選擇好繼承關係,然後,用raise語句丟擲乙個錯誤的例項

raise語句如果不帶引數,就會把當前錯誤原樣丟擲。此外,在except中raise乙個error,還可以把一種型別的錯誤轉化成另一種型別

除錯:1.使用print列印錯誤資訊

2.使用assert來替代print()

3.logging指定記錄資訊的級別,有debug,info,warning,error等幾個級別

4.pdb單步執行:python -m pdb err.py

5.pdb.set_trace():這個方法也是用pdb,但是不需要單步執行,我們只需要import pdb,然後,在可能出錯的地方放乙個pdb.set_trace(),就可以設定乙個斷點

6.使用ide

如果要比較爽地設定斷點、單步執行,就需要乙個支援除錯功能的ide。目前比較好的python ide有:

visual studio code:需要安裝python外掛程式。

pycharm:

另外,eclipse加上pydev外掛程式也可以除錯python程式。

單元測試:用來對乙個模組、乙個函式或者乙個類來進行正確性檢驗的測試工作。

setup()方法中連線資料庫,在teardown()方法中關閉資料庫

python內建的「文件測試」(doctest)模組可以直接提取注釋中的**並執行測試

doctest非常有用,不但可以用來測試,還可以直接作為示例**。通過某些文件生成工具,就可以自動把包含doctest的注釋提取出來。使用者看文件的時候,同時也看到了doctest。

python錯誤 除錯和測試

1.錯誤處理 1 try.except.finally try print try.r 10 int a print result r except valueerror as e print valueerror e except zerodivisionerror as e print zero...

python之錯誤 除錯和測試

try print try.r 10 0 print result r except zerodivisionerror,e print except e finally print finally.print end 如果不捕獲錯誤,自然可以讓python的直譯器來列印出錯誤堆疊,但程式也同時結束...

錯誤 除錯和測試

在程式執行過程中,總會遇到各種各樣的錯誤。有的錯誤是程式編寫有問題造成的,比如本來應該輸出整數結果輸出了字串,這種錯誤我們通常稱之為bug,bug是必須修復的。有的錯誤是使用者輸入造成的,比如讓使用者輸入email位址,結果得到乙個空字串,這種錯誤可以通過檢查使用者輸入來做相應的處理。還有一類錯誤是...