python應用 異常處理

2021-09-26 01:58:13 字數 2003 閱讀 2403

python的錯誤異常在大部分ide編輯器中則可以直接顯示出來,便於開發人員的除錯及修改工作,對初學者也比較友好。

python中包含錯誤和異常兩種情況,錯誤主要是常見的語法錯誤syntaxerror,並且在錯誤提示中會有倒三角箭頭的修改指示位置;python中的另外一種錯誤提醒叫做異常,指的是在語法和表示式上並沒有錯誤,執行時會發生錯誤的情況。在python中,語法錯誤是直接顯示在相關終端視窗,而異常可以進行錯誤提示,也可以進行捕捉處理。

1

##如下方**不完整,則會報出語法錯誤的提示

2def

foo:34

#下方為內容錯誤的資訊提示

5def

foo:

67 syntaxerror: invalid syntax

因為在程式執行時,異常報錯提示可能會影響到輸出結果的顯示,此時就可以使用try:...except:...進行異常處理,將錯誤直接輸出列印,而不是以報錯的形式顯示。在python中有很多不同的異常提示方法,官方成為異常類,所有異常類都基於baseexception。大家也可以在官方文件中檢視詳細的繼承關係圖,在一般處理異常的情況下,大多使用exception與其子類異常,如下就是使用exception輸出程式執行異常的**示例。

1

try:2#

被除數不能為0,相關錯誤型別為zerodivisionerror

3print(1/0)4#

使用exception可以將錯誤資訊直接輸出

5except

exception as e:

6print(e)

使用exception下的nameerror**示例:

1

try:

2print

(a)3

except

nameerror as n:

4print(n)

還有一些異常錯誤資訊是模組中自帶的錯誤,比如urllib.error中的httperror和urlerror,以及json中的jsondecodeerror等。檢視底層實現原始碼可以看出這些異常也是基於exception,相當於這些模組主動丟擲乙個自定義的異常資訊,所以也是可以通過exception進行輸出。

既然在模組可以從**中實現主動丟擲異常錯誤資訊,那我們也可以根據自己的需求去丟擲相應的異常提示資訊。這時候就使用到了raise,**示例如下,我們可以在raise中新增乙個基類,緊挨基類去新增乙個關於異常資訊的提示,提示內容可以為漢語,但是盡量不要使用。

1

#raise相關用法

2try:3

aaa4

except

baseexception as e:5#

raise 丟擲異常,自定義錯誤的說明

6raise syntaxerror('

syntax error

') frome7

#輸出的錯誤結果資訊為:變數a未被定義,和主動丟擲的異常及說明

try:...except:...語句還可以結合finally進行使用,無論輸出try語句中的正確**,還是輸出except中的錯誤資訊,finally都會進行輸出列印輸出

1

#finally的用法

2try:3

aaa4

print(1/1)

5except

exception as e:

6print

(e)7

#只要有finally,無論正常執行還是報錯,都會執行finally中的內容

8finally:9

print(123)

以上內容主要幫助大家使用try:...except:...處理異常的方法,如果不清楚使用哪一種異常方法,可以使用通用異常exception,也可以在except中列印自己定義的錯誤資訊。在出現異常的情況下程式有可能會中斷執行,而使用異常處理,則可以跳過這些異常繼續執行正確的**;異常處理也可以新增自定義的錯誤資訊,在工作中方便與同事之間的配合,這些都是使用異常處理的好處。

python異常處理 Python 異常處理

使用者輸入不完整 比如輸入為空 或者輸入非法 輸入不是數字 異常就是程式執行時發生錯誤的訊號,在python中,錯誤觸發的異常如下 在python中不同的異常可以用不同的型別 python中統一了類與型別,型別即類 去標識,不同的類物件標識不同的異常,乙個異常標識一種錯 觸發indexerror 觸...

python異常舉例 Python異常處理

1.1異常問題舉例 例一 i input 請輸入數字 請輸入數字 0 print i print 5 int i traceback most recent call last file line 1,in zerodivisionerror division by zero 上述 的報錯是除零的錯...

python異常處理

當你的程式中出現異常情況時就需要異常處理。比如當你開啟乙個不存在的檔案時。當你的程式中有一些無效的語句時,python會提示你有錯誤存在。下面是乙個拼寫錯誤的例子,print寫成了print。python是大小寫敏感的,因此python將引發乙個錯誤 print hello world file l...