一、認識異常
1、什麼是異常
程序在運行過程中,不可避免地會出現一些錯誤,比如:使用了沒有定義的變量;用0作除數等等。
在程序中,我們稱這些錯誤為異常,每當發生錯誤時,python都會創建一個異常對象。
2、什麼是Traceback
Traceback是python異常信息的報告。
在程序運行過程中,一旦出現異常将會導緻程序終止,之後的代碼不再執行,并顯示一個Traceback信息,即一些錯誤提示信息,其中包含有關異常的報告。
例如:
在上例中,我們首先定義了一個函數 hello,函數的參數是name,在函數體内,使用print語句輸出一句話,其中nama是一個沒有定義的變量,然後通過hello(‘Kitty’)調用剛才定義的hello函數,運行程序時系統發現異常,會終止程序并顯示Traceback錯誤信息的報告。
3、解讀Traceback信息
雖然python的Traceback提示信息看着挺複雜,但是裡面有豐富的信息,通過解讀Traceback可以幫我們診斷引發異常的原因,并定位到具體哪個文件的哪行代碼出現的錯誤。
Traceback提示信息的閱讀順序由下而上,最下面的信息抛出錯誤的最外層的位置,越往上代碼調用深度越深。最後一行一般會告訴我們引發了什麼類型的異常,以及關于該異常的一些相關信息。前面幾行指出引發異常的代碼文件路徑、行數以及模塊或者方法名,在python中點擊文件的鍊接即可定位到錯誤的位置。
在上例中,最後一行錯誤消息行顯示異常類型是 NameError,意思是名稱使用了一個沒定義的名稱(變量、函數、類)的引用。在本例中,引用的異常名稱是nama。
我們點擊文件的鍊接定位到錯誤的位置,或在代碼中搜索錯誤提示中的名稱nama,會發現這是一個拼寫錯誤,我們将它改正成name後,再次運行程序,就會正常輸出,如下圖所示:
二、動手實踐
當除數為零時,python就會抛出ZeroDivisionError異常,試着觀察并解讀對應的Traceback信息。
,
更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!