python 異常處理(一)

2021-09-11 01:42:48 字數 1425 閱讀 5871

所謂的異常,異常就是程式在執行過程中,在特定條件下引發的錯誤。異常可以在程式執行過程中進行捕捉、處理,從而避免程式的意外崩潰。

當異常發生時,程式會停止當前的所有工作,跳轉到異常處理部分去執行。異常是如何產生的呢?它可以是程式錯誤引發的,也可以是由**主動觸發的。

在python中,異常處理常用於處理以下情況。

1)錯誤處理:這是異常處理的典型應用。python使用try語句捕捉和處理異常,發生錯誤時,執行try語句中的異常處理**,然後正常執行try語句後面的**。

2)終極行為:在try語句中使用finally定義終極行為,不管程式是否發生異常,finally部分的**都會執行。

3)利用異常處理實現非常規的流程控制。在**中根據需要使用raise語句,主動丟擲內建異常或者是自定義異常,實現程式的流程跳轉。

1.異常處理的基本結構:

try:

可能發生異常的**

except 異常型別名稱:

異常處理**

else:

沒有發生異常時執行的**

在異常處理時,將可能引發異常的**放在try語句塊中。在except語句中指明捕捉處理異常型別名稱,except語句塊中為發生異常時執行的**。else語句塊中為沒有發生異常時執行的**,else部分可以省略。

使用try…except對**中的異常處理進行捕捉處理時,發生異常則執行對應的處理**,然後執行後繼的**。

2.在異常處理時,可以使用多個except語句,以捕捉可能出現的多種異常。僅僅修改try語句**塊,引發不同的異常進行測試。

3.except…as

可以在except語句中同時指定多種異常,以便使用相同的異常處理**進行統一處理。在except語句中可以使用as為異常類建立乙個例項物件。通過異常的例項物件,可進一步獲得異常的類名和異常資訊等資料。

4.在捕捉異常時,如果except語句中沒有指明異常型別,則不管發生何種型別的異常,均會執行except語句塊中的異常處理**。採用這種方式的好處是可以捕捉所有型別的異常,還可以進一步使用sys.exc_info()方法來獲得詳細的異常資訊。

sys.exc_info()方法返回乙個三元組(type,value,traceobj)。

type為異常類的型別,用type.__ name __ 屬性可獲得異常類名稱。

value為異常類的例項物件,直接列印可獲得異常描述資訊。

traceobj是乙個堆疊跟蹤物件(traceback類物件),使用traceback模組的print_tb()方法可獲得堆疊跟蹤資訊。

5.python允許在異常處理結構的內部巢狀另乙個異常處理結構。在發生異常時,內部沒有捕捉處理的異常可以被外層捕捉。

6.try…finally

在異常處理結構中,可以使用finally定義終止行為。不管try語句塊中是否發生異常,finally語句塊中的**都會執行。

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...