天天看點

松勤軟體測試:python中的錯誤和異常,你是不是經常遇到

作者:松勤小豬

我們很多人在學代碼的時候都是走正常的路線,包括我所用到的變量,方法,流程,邏輯都是提前設計好的。

但是工作中,當我們面臨一個新問題或者要求的時候,我們去設計代碼,基本上是做不到把所有要用的到資料,方法都準備好.很多的時候可能一遍使用一遍通過運作代碼去調試。

在調試過程中,我們就會遇到這樣或者那樣的問題,這個就是我們在做代碼設計的時候避免不了的一些錯誤和異常,包括業務流程的邏輯錯誤都是我們在編碼的時候需要注意的.

那麼下面就給大家介紹一下python中的錯誤和異常

NameError

當執行代碼報錯這樣的錯誤的時候,那麼需要我們了解是什麼意思.NameError 表示我們通路了一個沒有初始化的變量,舉例子說明:在pycharm中執行下面的代碼:print(foo)檢視執行結果:Traceback (most recent call last): File "E:/work/test.py", line 1, in <module> fooNameError: name 'foo' is not defined

其中NameError: name 'foo' is not defined就是對這段代碼的錯誤所給出的資訊.NameError字面翻譯過來就是名字錯誤,在看:name 'foo' is not defined表示名字”foo”沒有被定義.意思就是print這個方法所使用的參數foo是沒有經過定義的。

如果這個foo用引号引起來,那麼就是我們說過的字元串,是一個值.但是沒有,是以在這裡,這個foo就是一個變量.那麼變量沒有值,在應用的時候就會出現這樣的問題.解決方法是定義一下即可:

松勤軟體測試:python中的錯誤和異常,你是不是經常遇到

ZeroDivisionError: 除數為零這個報錯資訊經常出現在計算的子產品中,涉及到計算的邏輯,如

松勤軟體測試:python中的錯誤和異常,你是不是經常遇到

圖上面這段代碼中變量num存儲1/0的結果,但是在計算的邏輯中數字0是不能作為分母的,也就是能作為被除數.這個錯誤結合計算的業務,兩個數字都需要填寫的時候,會容易發生。

SyntaxError: Python 解釋器文法錯誤

SyntaxError 異常是唯一不是在運作時發生的異常. 它代表 Python 代碼中有一個不正确的結構,特别是文法結構,看下面的例子:

松勤軟體測試:python中的錯誤和異常,你是不是經常遇到

作為有代碼經驗的人來說一般不會出現這個錯誤,因為這個文法怎麼使用是作為一個程式設計人員常識,但是對于初學者,需要去注意,在設計代碼的過程中,我們經常會忘記或者意識習慣性敲回車等等.

上圖中的就是典型的文法問題.當然在pyhton中還需要注意的一個結構問題就是換行或者縮進.python文法是非常講究縮進的一個語言.是以在代碼設計的時候,需要注意,當然這個錯誤也是非常容易甄别:

IndentationError:縮進錯誤

作為編碼人員,對于縮進特别需要注意,尤其是當我們直接複制一段代碼過來時用的時候,需要注意調整一下格式.針對于pyhthon中的條件判斷,循環,方法函數,類使用的時候都會用到縮進.嵌套循環或者嵌套判斷也是縮進使用的高頻場景.如下面的代碼:

松勤軟體測試:python中的錯誤和異常,你是不是經常遇到

執行結果就是縮進錯誤.隻需要把縮進的地方調整一下即可。