當(dāng)前位置:
首頁 >
16.异常处理机制:exception
發(fā)布時間:2025/3/21
34
豆豆
生活随笔
收集整理的這篇文章主要介紹了
16.异常处理机制:exception
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
python常見異常總結(jié):http://bbs.fishc.com/forum.php?mod=viewthread&tid=45814&extra=page%3D1%26filter%3Dtypeid%26typeid%3D403
AssertError:斷言assert語句失敗 AttributeError:嘗試訪問未知的/不存在的對象的方法IndentationError:縮進(jìn)錯誤 ImportError:導(dǎo)入模塊失敗 SyntaxError:python的語法錯誤 ZeroDivisionError:除零錯誤 IndexError:索引超出序列的范圍 TypeError:不同類型直接運算KeyError:字典中查找一個不存在的關(guān)鍵字IOError:沒有文件或目錄MemoryError:內(nèi)存溢出(可通過刪除和釋放對象解決)NameError:嘗試訪問一個不存在的變量KeyboardError:中斷鍵(Ctrl+C)OSError:操作系統(tǒng)產(chǎn)生的異常(例如打開一個不存在的文件)OverflowError:數(shù)值運算超出最大限制RuntimeError:一般運行時出現(xiàn)的錯誤(遞歸超出最大迭代次數(shù)等)ReferenceError:試圖訪問一個已經(jīng)被垃圾回收機(jī)制回收的對象ValueError:傳入無效的參數(shù)FloatingPointError:浮點計算錯誤EOFError:用戶輸入文件末尾標(biāo)志EOF(Ctrl+D)NotImplementedErrror:尚未實現(xiàn)的方法檢測并處理異常
語法:
try:檢測范圍 except Exception[as reason]: #Exception異常類型 reason:異常原因出現(xiàn)異常后處理異常的代碼 finally:無論如何讓都會被執(zhí)行的代碼例:
【代碼1】 try:f = open('G:\\new.txt','w') #以w方式打開文件f.write('I love you!')1/0 #發(fā)生除以0異常f.close() #發(fā)生除以0異常后,直接跳過此句話 except (IOError,ZeroDivisionError) as reason: #捕獲初零異常print('文件出錯誤了!\n' + str(reason)) #打印錯誤原因文件出錯誤了! integer division or modulo by zero 但是:并沒有把'I love you!'寫入'G:\\new.txt'文件, 因為除零異常發(fā)生,直接跳過f.close()語句,因此緩沖區(qū)中的 數(shù)據(jù)還沒有寫入文件,就被釋放。【代碼2】修改成帶finally的代碼 try:f = open('G:\\new.txt','w') #以w方式打開文件f.write('I love you!')1/0 #發(fā)生除以0錯誤 except (IOError,ZeroDivisionError) as reason: #捕獲初零異常print('文件出錯誤了!\n' + str(reason)) #打印錯誤原因 finally: #把必須要執(zhí)行的代碼放在finally之后f.close() 文件出錯誤了! integer division or modulo by zero 此時,把'I love you!'寫入了'G:\\new.txt'文件總結(jié)
以上是生活随笔為你收集整理的16.异常处理机制:exception的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 15.泡菜:pickle模块
- 下一篇: 17.丰富的else语句和简洁的with