python異常處理

2021-06-16 11:23:12 字數 1049 閱讀 8127

乙個合格的python程式設計師應該熟練處理異常,這是程式健壯的保障。

之前看完《dive into python》,裡面很多章節都太淺顯。但其行文思路值得借鑑。其中異常處理就介紹的過於簡單。

今天看了《python 學習手冊第三版》。對異常的講解非常詳細,掌握之後,基本在實際程式設計中不會為異常而無從下手。

具體參加書的最後一部分。以下為筆記:

try:

raise

raise

raise

except name1:

except name2, data:  #run if name2 is raised and get extra data

except (name3, name4): #either name3 or name4

except (name3, name4), data :

except:                       #all other exceptions

else:

finally:

assert  , 用來約束使用者輸入條件,不是用來檢測程式內在的錯誤。

with expression [as variable]:

類異常:

如果except包含超類,會捕捉超類的例項及其子類的例項

建議:使用者自定義的類是exception的子類

過載__repr__ 和 __str__可以自定義自己的異常顯示

raise  instance

raise  class, instance

1、避免使用except空拋異常。因為這個異常會捕捉無關系統異常、甚至程式設計的錯誤,而這些異常不

應該**捉。

2、在異常處理中使用:sys.exc_info()  =  (type, value , traceback)

3、使用基於類的分類

思考:except捕捉應該多具體?      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...