輕鬆解決python異常處理,你值得擁有
python中常見的異常信息+處理方法
常見異常類型
異常類名 | 功能描述 |
---|---|
Exception | 所有異常的基類 |
ValueError | 對象值不正確時引發該錯誤 |
AttributeError | 對象中沒有該屬性或方法時引發該錯誤 |
SyntaxError | 語法錯誤時引發該錯誤 |
IndexError | 指定數據類型索引超出序列範圍時引發該錯誤 |
KeyError | 申請字典或集合不存在的鍵或關鍵字時引發該錯誤 |
NameError | 使用不存在的標識符時引發該錯誤 |
TypeError | 傳給對象的參數類型不正確時引發該錯誤 |
MoudleNoFoundError | 找不到模塊名時引發該錯誤 |
EOFError | 一個’end of file’到達控制台或文件輸入時引發該錯誤 |
IOError | 輸入/輸出操作失敗時引發該錯誤 |
StopIteration | 遍歷的迭代器(生產器)中沒有元素時引發該錯誤 |
異常處理
-
使用try except (else finally)方法去處理異常,其中後兩者可選
ls=[1,2,3,4] try: for i in range(10): print(ls[i]) #觸發異常就執行except下的代碼 except IndexError: #設置異常類型,異常類型可省略不寫 pass #沒有觸發異常就執行else下的代碼 else: print('沒有超出索引範圍') #無論有沒有觸發異常都會執行finally下的代碼 finally: print('都取完了,取值結束')
-
主動拋出異常
- 使用raise 異常類型(錯誤的信息描述)
ls=[1,2,3,4] for i in range(10): print(ls[i]) while i==len(ls)-1: raise IndexError('據我觀察 list index out range')