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

python異常和錯誤有什麼區別

Jun 26, 2019 am 09:58 AM
python 例外 錯誤

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

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前 By 尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前 By 尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章標籤

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

Windows Update 更新提示Error 0x8024401c錯誤的解決方法 Windows Update 更新提示Error 0x8024401c錯誤的解決方法 Jun 08, 2024 pm 12:18 PM

Windows Update 更新提示Error 0x8024401c錯誤的解決方法

模板化的優點和缺點有哪些? 模板化的優點和缺點有哪些? May 08, 2024 pm 03:51 PM

模板化的優點和缺點有哪些?

Google AI 為開發者發佈 Gemini 1.5 Pro 和 Gemma 2 Google AI 為開發者發佈 Gemini 1.5 Pro 和 Gemma 2 Jul 01, 2024 am 07:22 AM

Google AI 為開發者發佈 Gemini 1.5 Pro 和 Gemma 2

MIT最新力作:以GPT-3.5解決時間序列異常檢測問題 MIT最新力作:以GPT-3.5解決時間序列異常檢測問題 Jun 08, 2024 pm 06:09 PM

MIT最新力作:以GPT-3.5解決時間序列異常檢測問題

怎麼下載deepseek 小米 怎麼下載deepseek 小米 Feb 19, 2025 pm 05:27 PM

怎麼下載deepseek 小米

deepseek怎麼問他 deepseek怎麼問他 Feb 19, 2025 pm 04:42 PM

deepseek怎麼問他

NET40是什麼軟體 NET40是什麼軟體 May 10, 2024 am 01:12 AM

NET40是什麼軟體

deepseek該怎麼搜索 deepseek該怎麼搜索 Feb 19, 2025 pm 05:18 PM

deepseek該怎麼搜索

See all articles