您好,登錄后才能下訂單哦!
這篇文章主要介紹python中錯誤和異常應該怎么區分,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
python異常和錯誤有什么區別
1. 錯誤
從軟件方面來說,錯誤是語法或是邏輯上的。語法錯誤指示軟件的結構上有錯誤,導致不能被解釋器解釋或編譯器無法編譯。這些錯誤必須在程序執行前糾正。當程序的語法正確后,剩下的就是邏輯錯誤了。邏輯錯誤可能是由于不完整或是不合法的輸入所致;在其他情況下,還可能是邏輯無法生成,計算,或是輸出結果需要的過程無法執行。這些錯誤通常分別被稱為域錯誤和范圍錯誤。
當 Python 檢測到一個錯誤時,解釋器就會指出當前流已經無法繼續執行下去,這時候就出現了異常。
2. 異常
對異常的最好描述是: 它是因為程序出現了錯誤而在正常控制流以外采取的行為。這個行為又分為兩個階段: 首先是引起異常發生的錯誤,然后是檢測(和采取可能的措施)階段。
第一個階段是在發生了一個異常條件(有時候也叫做例外的條件)后發生的。只要檢測到錯誤并且意識到異常條件,解釋器會引發一個異常。引發也可以叫做觸發或者生成,解釋器通過它通知當前控制流有錯誤發生。
Python 也允許程序員自己引發異常,無論是 Python 解釋器還是程序員引發的,異常就是錯誤發生的信號,當前流將被打斷,用來處理這個錯誤并采取相應的操作,這就是第二階段。
對異常的處理發生在第二階段。異常引發后,可以調用很多不同的操作,可以是忽略錯誤(記錄錯誤但不采取任何措施, 采取補救措施后終止程序),或是減輕問題的影響后設法繼續執行程序。所有的這些操作都代表一種繼續,或是控制的分支,關鍵是程序員在錯誤發生時可以指示程序如何執行。
類似 Python 這樣支持引發和處理異常(這更重要)的語言,可以讓開發人員可以在錯誤發生時更直接地控制它們。程序員不僅僅有了檢測錯誤的能力,還可以在它們發生時采取更可靠的補救措施。
常見錯誤:ipython下
1. a : NameError
在沒有定義一個變量的時候直接引用
2. if True : SyntaxError
語法錯誤
3. f = open('1.txt') : IOError
試圖打開一個不存在的文件的時候
4. 10/0 : ZeroDivisionError
5. a = int('dd') : ValueError
進行強制類型轉換的時候遇到的錯誤
try-except:異常處理
try: try_suite except Exception [, e]: exception_block
以上是python中錯誤和異常應該怎么區分的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。