乙個合格的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...