首頁 >後端開發 >Python教學 >python異常和錯誤有什麼區別

python異常和錯誤有什麼區別

藏色散人
藏色散人原創
2019-06-26 09:58:1213398瀏覽

python異常和錯誤有什麼區別

python異常和錯誤有什麼區別

##1.錯誤

從軟體方面來說,錯誤是語法或邏輯上的。語法錯誤指示軟體的結構上有錯誤,導致無法被解釋器解釋或編譯器無法編譯。這些錯誤必須在程式執行前修正。當程式的語法正確後,剩下的就是邏輯錯誤了。邏輯錯誤可能是由於不完整或不合法的輸入所致;在其他情況下,也可能是邏輯無法生成,計算,或輸出結果需要的過程無法執行。這些錯誤通常分別被稱為域錯誤和範圍錯誤。

當 Python 偵測到錯誤時,解譯器就會指出目前流已經無法繼續執行下去,這時候就出現了異常。

2. 異常

對異常的最佳描述是: 它是因為程式出現了錯誤而在正常控制流以外採取的行為。這個行為又分為兩個階段: 首先是造成異常發生的錯誤,然後是偵測(和採取可能的措施)階段。

第一個階段是在發生了一個異常條件(有時候也叫做例外的條件)後發生的。只要偵測到錯誤並且意識到異常條件,解釋器就會引發一個異常。引發也可以叫做觸發或生成,解釋器透過它通知當前控制流有錯誤發生。

Python 也允許程式設計師自己引發異常,無論是Python 解釋器還是程式設計師引發的,異常就是錯誤發生的訊號,當前流將被打斷,用來處理這個錯誤並採取相應的操作,這就是第二階段。

對異常的處理發生在第二階段。異常引發後,可以調用很多不同的操作,可以是忽略錯誤(記錄錯誤但不採取任何措施, 採取補救措施後終止程序),或者是減輕問題的影響後設法繼續執行程序。所有的這些操作都代表一種繼續,或是控制的分支,關鍵在於程式設計師在錯誤發生時可以指示程式如何執行。

類似 Python 這樣支援引發和處理異常(這更重要)的語言,可以讓開發人員可以在錯誤發生時更直接地控制它們。程式設計師不僅有了檢測錯誤的能力,還可以在它們發生時採取更可靠的補救措施。

由於有了執行時間管理錯誤的能力,應用程式的健全性有了很大的提升。

異常和異常處理並不是什麼新概念。它們同樣存在於 Ada,Modula-3,C ,Eiffel,以及 Java 中。異常的起源可以追溯到處理系統錯誤和硬體中斷這類異常的作業系統程式碼。

在 1965 年左右,PL/1 作為第一個支援異常的主要語言出現,而異常處理是作為一個它提供的軟體工具。和其他支援異常處理的語言類似,Python 採用了 “try/嘗試” 區塊和 “catching/捕獲” 區塊的概念,而且它在異常處理方面更有”紀律性”。

我們可以為不同的異常創建不同的處理器,而不是盲目地創建一個”catch-all/捕獲所有”的程式碼。

推薦學習:《

Python教學

以上是python異常和錯誤有什麼區別的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn