python錯誤和異常學習筆記

2022-07-26 18:54:14 字數 1529 閱讀 3840

1. python中的異常

nameerror: 嘗試訪問乙個未申明的變數

zerodivisionerror:

除數為零

syntaxerror: 直譯器語法錯誤

indexerror: 請求的索引超出序列範圍

keyerror:

請求乙個不存在的字典關鍵字

ioerror: 輸入/輸出錯誤

attributeerror: 嘗試訪問未知的物件屬性

valueerror:

值錯誤typeerror: 型別錯誤

systemexit: 當前python應用程式需要退出

keyboardinterupt:

使用者按下ctrl+c關閉python

2. 檢測和處理異常

異常可以通過try語句來檢測

try語句有兩種主要形式:try-except和try-finally

乙個try語句可以對應乙個或多個except子句,但只能對應乙個finally子句,或是乙個try-except-finally復合語句

3. try-except語句

try:

try_suite

except exception[, reason]:

except_suite

在程式執行時,先嘗試執行try塊裡的所有**,如果**塊完成後沒有異常發生,執行流就會忽略except語句繼續執行。而當except語句所指定的異常發生後,我們儲存了錯誤原因,控制流立即跳轉到對應的處理器。

4. 帶有多個except的try語句

首先嘗試執行try子句,如果沒有錯誤,忽略所有的except從句繼續執行。如果發生異常將在except子句中查詢匹配的異常,如果找到對應的處理器,執行流跳轉到對應的except從句執行。

5.處理多個異常的except語句

except (exception1, exception2) [, reason]:

suit_for_exception1_and

exception2

except語句可以處理任意多個異常,前提是它們被放入乙個元組裡。

捕獲所有異常可以使用:

try:

:except baseexception, e:

#handle all errors

try:

:except exception, e:

#handle real

errors

空except子句處理所有異常已經不推薦使用。

6. else子句

在try範圍中沒有異常被檢測到時,執行else子句。

7. finally子句

finally子句無論異常是否發生,是否捕捉都會執行的一段**。

無論什麼語法,至少要有乙個except子句,而else和finally都是可選的。

python學習筆記系列 (六)錯誤和異常

python至少有2類不同的錯誤 語法錯誤 syntax errors 和異常 exceptions 8.1 語法錯誤 這個單詞應該還是很有必要認識的,呵呵,語法錯誤,也叫解析錯誤,是我們最不願意發生的錯誤,直接拿官網的例子 while true print hello world file lin...

python錯誤和異常

1 語法錯誤 syntax errors 語法錯誤,也就是解析時錯誤。當我們寫出不符合python語法 時,在解析時會報syntaxerror,並且會顯示出錯的那一行,並用小箭頭知名指明最早探測到錯誤的位置。如 while ture file line 1 while ture syntaxerro...

Python 錯誤和異常

for i in range 10 print i for i in range 10 syntaxerror invalid syntax python的語法分析器完成,檢測到錯誤所在的檔案和行號,以向上箭頭標記錯誤位置,最後顯示錯誤型別 當程式檢測到乙個錯誤,直譯器就無法繼續執行下去,丟擲異常,...