Python中異常與錯誤有什麼區別?Python入門教程

老男孩IT教育機構發表於2021-08-04

  當我們撰寫Python程式碼的時候,肯定會遇到程式碼錯誤或者異常的情況,這時很多人就會問:Python中異常與錯誤有什麼區別?如何理解呢?我們一起來看看詳細的內容介紹吧。

  什麼是錯誤?

  錯誤分為兩種情況:第一種語法錯誤,程式碼不符合直譯器或者編譯器語法;第二種邏輯錯誤,不完整或者不合法輸入或者計算出現問題。

  什麼是異常?

  所謂的異常就是執行過程中出現萬體導致程式無法執行,同樣分為兩種情況:第一種程式遇到邏輯或者演算法問題;第二種執行過程中計算機錯誤,記憶體不夠或者IO錯誤。

  Python中錯誤和異常有什麼區別?

  錯誤是程式碼執行前的語法或者邏輯錯誤,語法錯誤在執行前修改,邏輯錯誤無法修改;

  而異常分為兩個步驟,異常產生,檢查到錯誤且直譯器認為是異常,丟擲異常;第二是異常處理,截獲異常,忽略或者終止程式處理異常。

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

  當Python檢測到一個錯誤時,直譯器就會指出當前已經無法繼續執行下去,這時就出現異常。

  而異常它是因為程式出現了錯誤而在正常控制流以外採取的行為,這個行為分為兩個階段:首先是引起異常發生的錯誤,然後是檢測階段;

  第一個階段是在發生了一個異常條件後發生的,只要檢測到錯誤並且意識到異常條件,直譯器會引發一個異常,引發也可以叫做觸發或生成,直譯器透過它通知當前控制流有錯誤發生;

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

  對異常的處理發生在第二階段,異常引發後,可以呼叫很多不同的操作,可以是忽視錯誤,或是減輕問題的影響後設法繼續執行程式,所以的這些操作都代表一種繼續,或是控制的分支,關鍵是程式設計師在錯誤發生時可以指示程式如何執行。

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


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69952527/viewspace-2785263/,如需轉載,請註明出處,否則將追究法律責任。

相關文章