測牛學(xué)堂:軟件測試python學(xué)習(xí)之異常處理的知識點分享!
python的捕獲異常
程序在運行時,如果python解釋器遇到一個錯誤,則會停止程序的執(zhí)行,并且提示一些錯誤信息,這就是異常。
程序停止執(zhí)行并且提示錯誤信息,稱之為拋出異常。
因為程序遇到錯誤會停止執(zhí)行,有時候我們希望拋出錯誤,但是不影響程序繼續(xù)執(zhí)行,就可以使用捕獲異常來實現(xiàn)。
基本語法關(guān)鍵字,try...except
try 后面寫程序正常執(zhí)行的代碼,如果有錯誤,會執(zhí)行except中的代碼,并不會停止執(zhí)行。所以,我們把錯誤處理的代碼寫在except中即可捕獲異常。
代碼示例:
注意:
如果輸入的是正確的內(nèi)容,則不會執(zhí)行except里面的代碼。
如果輸入的是錯誤的內(nèi)容,會執(zhí)行except中的代碼,程序也不會標紅報錯終止執(zhí)行。
捕獲指定類型的異常
代碼出現(xiàn)異常的情況有多種,針對不同的異常,處理異常要有不同的方式。
針對這種情況,可以使用捕獲指定異常來實現(xiàn)。
語法是在expcet 后面,寫異常的類型,通過多個except去捕獲不同的異常。
代碼示例:
注意:
錯誤類型非常多,沒有必要一個一個去記,我們可以看python錯誤的時候拋出的異常,再對應(yīng)去處理即可
捕獲未知類型的異常
其實在開發(fā)中我們比較常用的,還是捕獲未知類型異常這種用法。通過異常的父類Exception去實現(xiàn)
代碼示例:
注意:
1as 后面的變量是錯誤對象,通過print可以打印出錯誤類型信息
2如果我們想要拋出異常的話,可以使用raise Exception(msg)。msg是異常錯誤信息。
3 python內(nèi)部實現(xiàn)了異常傳遞,在函數(shù)內(nèi)部發(fā)生的異常會不斷向上傳遞,直到主程序仍然沒有捕獲,才會拋出異常