Python Try except 函數用示例解釋
已發表: 2021-11-22編程在現代時代執行多項任務中起著至關重要的作用。 無論是研究領域還是商業領域,編程的應用隨處可見。 Python 就是這樣一種編程語言,它已廣泛應用於幾乎所有人的日常生活中。 當然,這取決於正在開發和執行的程序。 無論是機器學習、Web 開發、軟件開發還是任何教育項目,程序員應用的大多是 Python。
但是,對於任何已設計好的程序,有時可能會出現錯誤。 這些錯誤可以是用戶定義的,也可以是程序本身的一些默認值。 用 python 編程語言編寫的程序也可以在檢測到代碼中任何形式的錯誤時終止。 本文將描述python編程中出現的異常以及如何通過使用try和except函數來處理它們。 在python編程中,主要出現兩類錯誤,語法錯誤和異常。
目錄
異常和語法錯誤
最常見的 Python 錯誤形式之一是語法錯誤。 這些也稱為解析錯誤。 解析器使用一個小箭頭來指出錯誤。
另一種形式的錯誤是python中的異常。 在某些情況下,程序的語法保持不變,但在執行程序時會彈出某些錯誤。 這些在執行時檢測到的錯誤稱為異常。
下面列出了一些異常錯誤示例:
1.鍵盤中斷:
每當用戶輸入因鍵盤上某些不需要的按鍵而中斷時,就會發生這種類型的錯誤。 該鍵大部分不是必需的,並且被用戶錯誤地按下。
2. IO錯誤
有時,有些情況下您無法打開文件,這些例外情況與此類情況相關。
3. 導入錯誤
每當python程序找不到模塊時,就會發生此類異常。
4.EOF錯誤:
在不讀取任何數據的情況下,如果命中文件末尾,則會發生此類異常。
5. 值錯誤
異常與內置函數相關聯。 每當此類函數收到任何錯誤參數時,就會發生這些異常。
語法錯誤的發生在於檢測到python程序中不正確的語句。 這是一個顯示語法錯誤生成的示例:
>>> 打印(0 / 0))
文件“<stdin>”,第 1 行
打印(0 / 0))
^
SyntaxError:無效的語法
可以觀察到上述程序中有一個箭頭,它表示解析器檢測到錯誤的位置。 此外,代碼中有兩個括號,導致語法錯誤。 因此,出現了語法錯誤。 您可以刪除括號並再次執行代碼。
刪除括號後運行程序現在將顯示“ZeroDivisionError”異常。 這是因為代碼的語法是正確的,但仍然存在錯誤。 這種由正確語法代碼導致的錯誤稱為異常。
該程序將產生一行“ZeroDivisionError:整數除法或模除以零”。 這是程序的最後一行,它顯示了程序產生了哪些異常。 你可以注意到 python 不僅提到異常錯誤; 相反,它解釋並顯示了異常類型。
通過 Try except 子句處理異常
在python中處理異常的概念稱為異常處理。 可以編寫可以處理某些特定類型異常的程序。 處理異常的示例如下圖所示:
上述代碼取自https://docs.python.org/3/tutorial/errors.html 。
在上面的程序中,要求用戶輸入一個有效的整數作為輸入。 但是,用戶端出現了中斷,而不是一個有效的整數。 每當遇到這種類型的用戶中斷時,python程序都會引發一種異常,即“KeyboardInterrupt”異常。
python try except 塊用於捕獲和處理python程序中發生的異常。 try 語句下方的代碼作為普通程序執行。 同時,出現在except語句中的程序是程序對任何形式異常的主要響應。
從上面“異常和語法錯誤”部分討論的示例中,可以觀察到在代碼中使用錯誤的語法時發生了錯誤。 但是,如果沒有處理適當的異常,程序就會終止。 except 子句的主要職責是決定程序在異常情況下應如何響應。
try 和 except 語句用於處理 python 中的錯誤。 每當python代碼中發生錯誤時,這些語句都用於處理這些錯誤。 try 和 except 函數有一個單獨的代碼塊。 try 塊中的代碼有助於檢查程序是否存在任何錯誤。 因此,只要程序沒有錯誤,try 塊中的代碼就會被執行。 當在前一個代碼塊中檢測到一些錯誤時,將執行 except 塊中的代碼。 在 python 編程語言中,有一個特定的語法用於運行 Trial 和 except 語句塊。
Python 中 Try except 函數的語法:
嘗試:
# 一些代碼
除了:
# 如果出現錯誤則執行
# 嘗試塊
Try 語句的工作
讓我們首先了解 try 塊的工作原理。 這裡有幾個步驟將定義 try 塊中代碼塊的工作。
- 子句“try”首先被執行。 這意味著在 try 和 except 子句之間的代碼首先被執行。
- 檢查異常。 因此,如果沒有檢測到錯誤或異常,將只執行 try 子句。 同時,except 子句將停止運行。
- 如果出現異常,程序將跳過 try 子句。 在這種情況下,會有例外條款的運行。
- 可能存在異常,但異常子句無法處理該異常的情況。 在這種情況下,異常會被轉發到塊外的 try 語句。 如果即使在那時也沒有處理異常,程序將停止執行。
- 一條 try 語句可以有很多 except 子句(不止一個)。
假設一個python程序遇到不同的異常,那麼為了指定不同的handler,python程序中使用了幾個except塊。 一次,只會執行一個處理程序。 即使在 python 程序中,多個異常也可以用作 except 子句中的括號。
有時一個類可能出現在 except 語句中。
在python中有一個關鍵字的使用,就是“finally”這個詞。 在 try 和 except 塊執行之後使用或執行關鍵字。 因此,每當由於某些異常或某些正常終止而導致 try 子句終止時,在這種情況下都會執行 try 塊。
引發異常
檢測到異常後,通過引發異常強制異常發生。 這是通過使用“raise”語句來完成的。 raise 語句的重要目標之一是應該引發異常。
總結整個想法的幾個要點是:
- try 子句的執行一直持續到並且除非它遇到第一個異常。
- 它在 except 塊內,程序決定如何響應異常。
- 可以預期多個異常,然後程序區分如何應對它們。
- 可以通過使用“raise”語句隨時拋出異常。
- 語句“assert”使程序能夠知道某個條件是否滿足,如果條件不滿足,則拋出所需的異常。
- else 子句允許程序在“try”子句中沒有異常時運行代碼。
- 語句“finally”執行的代碼部分應該始終運行而不會遇到任何先前的異常。
結論
文章簡要討論了python程序中可能出現的錯誤,在某些異常錯誤的情況下,程序會拋出異常。 為了程序的順利執行,需要正確處理這些異常。 python中的try和except允許處理程序中的異常。 “try”語句下的代碼被執行。 如果代碼沒有成功執行,則程序將在產生錯誤的代碼行終止,然後“except”的代碼將運行。
從世界頂級大學獲得軟件工程學位。 獲得行政 PG 課程、高級證書課程或碩士課程,以加快您的職業生涯。
try 塊允許測試代碼塊是否存在任何錯誤。 except 塊允許程序處理異常(如果有)。