目錄
- 一、錯誤與異常
- 二、常見異常
- 三.異常處理
- 1.異常處理
- 2.簡單的異常處理格式
- 3.執行順序
- 4.except分支可以有多個
- 5.執行順序
- 6.else子句:沒有發生異常時執行
- 7.finally子句:不管異常有沒有發生都執行
- 8.異常嵌套
- 9.異常處理注意事項與建議
- 10.在函數中,需要注意在try/except/finally使用return
- 11.關于性能
- 四.課后小練習
- 總結
一、錯誤與異常
1.什么是錯誤
(1)語法錯誤(大小寫拼寫錯誤、括號不匹配等…)=> 不能正常執行
(2)邏輯錯誤(程序運行正常,只是最后結果不符合預期)
2.什么是異常
程序運行過程中,出現的意料之外的錯誤
• 如:打開的文件不存在、被除數為0、操作的數據類型不對、存儲錯誤,互聯網請求錯誤…
3.回溯信息
當程序運行時,發生了未處理的異常,Python就將終止執行程序,并以堆?;厮荩═raceback,也 稱向后追蹤)的形式顯示異常發生的上下文。
回溯信息告訴我們應該去哪里尋找問題的根源,對解決問題非常有幫助。

二、常見異常
常見異常類

三.異常處理
1.異常處理
在代碼被解釋執行的過程中可能會拋出異常。
那么也就是說,可能會發生,可能不會發生。對于這么不可預測的異常狀態如何處理?
1:即使程序出錯,也不想讓程序終止
2:如果出錯了,需要特殊處理
異常處理機制 try…except…
2.簡單的異常處理格式

3.執行順序
正常執行: try -> 執行代碼 -> 結束
遇到異常: try -> 遇到異常 -> 跳到excep -> 結束
4.except分支可以有多個

5.執行順序
執行匹配到第一個except則退出
如果父類異常在最前面,會吞噬所有子類異常(建議:先except子類,再except父類)
如果except捕獲的錯誤與觸發的錯誤不一致,程序會捕獲不到
6.else子句:沒有發生異常時執行

7.finally子句:不管異常有沒有發生都執行

8.異常嵌套

9.異常處理注意事項與建議
- 只執行最先匹配的一個except
- 如果父類異常在最前面,會吞噬所有子類異常
- 多except注意:
- 只會匹配一個except
- 要先寫子類異常再寫父類異常
- 如果except捕獲的錯誤與觸發的錯誤不一致,程序會捕獲不到
建議:
(1)不建議使用異常來代替常規的檢查,如if…else判斷
(2)避免過多依賴于異常處理機制
(3)在必要的時候,可以手動引發異常(raise)=> 函數或方法
10.在函數中,需要注意在try/except/finally使用return
在finally中使用return,異常無法回溯
在函數中的try/except語句使用return后,仍然會執行finally中的內容
finally => 正?;虍惓6紙绦?br />
return => 直接退出函數,返回值給主程序
11.關于性能


四.課后小練習
局域網存活IP檢測
• 預備知識:python執行系統命令模塊(subprocess)、IP地址處理模塊(IPy)
• 輸入內容:要檢查的網段、子網掩碼 (輸入:192.168.0.0/24)
• 輸出示例: 192.168.0.1已被使用
• 將輸出結果放到文件
• 將可能存在異常的地方需要做相應處理
總結
1.很多人在寫代碼時會出現很多的問題,這是正常的現象,不出錯才有問題。所以說,作為一名程序猿,要有一定的排錯和解決問題的能力,這是一個慢慢提升技術的過程。。。
2.打敗你的不是寫代碼,而是千奇百怪的異常。
以上就是常見的Python異常及處理方法總結的詳細內容,更多關于Python異常及處理的資料請關注腳本之家其它相關文章!
您可能感興趣的文章:- Python 異常處理總結
- 分析解決Python中sqlalchemy數據庫連接池QueuePool異常
- python之pyinstaller組件打包命令和異常解析實戰
- Python中的異常類型及處理方式示例詳解
- Python保姆式手把手帶你掌握異常的捕獲和處理