python 提供了多種不同形式的異常處理結構,基本思路都是一致的: 先嘗試執行代
碼,然後處理可能發生的錯誤 在實際使用時,可以根據需要來選擇使用哪一種。
python異常處理結構中最基本的結構是try.except.結構。其中try子句中的**塊包含可能會引發異常的語句,而except子句用來捕捉相應的異常。 如果try子句中的**引發異常並被except子句捕捉,則執行except子句的**塊;如果 try 中的**塊沒有出現異常則繼續往下執行異常處理結構後面的**;如果出現異常但沒有被except 捕獲, 則繼續往外層丟擲;如果所有層都沒有捕獲並處理該異常,則程式崩潰並將該異常呈現給終端使用者,這是我們最不希望發生的事情。 該結構語法如下:
try:
#可能會引發異常的**,先執行一下試試
except exception[ as reason]:
#如果try中的**丟擲異常並被except捕捉,就執行這裡的**
帶有else子句的異常處理結構可以看作是一種特殊的選擇結構,如果 try中的**
丟擲了異常並且被某個except語句捕捉則執行相應的異常處理**,這種情況下就不會
執行else中的**;如果try中的**沒有丟擲異常, 則執行else塊的**。 該結構的語
法如下:
try:
#可能會引發異常的**
except exception [ as reason]:
#用來處理異常的**
else:
#如果try子句中的**沒有引發異常,就繼續執行這裡的**
在這種結構中 , 無論 try 中的**是否發生異常,也不管丟擲的異常有沒有被 except語句捕獲,finally子句中的**總是會得到執行。 因此,finally中的**常用來做一些清理工作以釋放 try 子句中申請的資源。 該結構語法為
try:
#可能會引發異常的**
except exception [ as reason]:
#處理異常的**
finally:
#無論try子句中的**是杏引發異常,都會執行這裡的**
在實際開發中,同一段**可能會丟擲多種異常,並且需要針對不同的異常型別進行相應的處理。 為了支援多種異常的捕捉和處理,python提供了帶有多個except的異常處理結構,一旦某個except捕捉到了異常,則其他的 except子句將不會再嘗試捕捉異常。該結構類似於多分支選擇結構,語法格式為
try:
#可能會引發異常的**
except exception1:
#處理異常型別1的**
except exception2:
#處理異常型別2的**
except exception3:
#處理異常型別3的**
python異常處理結構中可以同時包含多個 except子句、else子句和 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...