7.1Python异常处理
生活随笔
收集整理的這篇文章主要介紹了
7.1Python异常处理
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
目錄
- 目錄
- 前言
- (一)常見的異常
- (二)異常的處理
- ==1.異常的預防:==
- ==2.解決已經知道類型的異常==
- ==3.合并處理多個異常==
- ==4處理未知類型的異常==
- (三)with語句
目錄
前言
我們寫的python程序,經常會出現異常與錯誤,從而導致我們的程序崩潰,今天我們就來學習一下python的異常處理,以便日后的編寫流暢的代碼。
(一)常見的異常
| 語法錯誤 | |
| 除零異常 | |
| 名稱異常 | |
| 類型異常 | |
| 索引異常 | |
| 鍵異常 | |
| 值異常 | |
| 屬性異常 | |
| 迭代器異常 | |
上面的這些異常都是繼承:Exception對象。
(二)異常的處理
==1.異常的預防:==
(1)說明:
有些異常時可以避免的,我們可以添加判斷語句,來預防避免異常的發生。
也就是添加容錯機制。
(2)源代碼:
"""有一些異常我們是可以預防的,其辦法是就添加容錯機制 """def div(x, y):if y != 0:return x/yprint("請注意分母不能為零")return 0div(1, 0)(3)輸出效果:
==2.解決已經知道類型的異常==
(1)說明
解決異常的完整框架:
try:
可能出現異常的代碼(可以寫多個異常的代碼,不過只要遇到第一個異常,就結束該部分的代碼,跳轉到except部分。)
except 錯誤類型 [as zero]:
發生該錯誤類型的異常,執行的代碼。(可以寫多個except 語句并列,從而來接收有可能的異常。)
else:
不發生異常,執行的代碼。
finally:
不管發生與不發生,都有要執行的代碼。
(2)源代碼
try:1/0except ZeroDivisionError as zero:print("除零異常", zero)else:print("沒有發生異常")finally:print("我最后都是要執行的")(3)輸出效果
==3.合并處理多個異常==
(1)說明
except 后面可以接收元組類型的多個異常類型名。
except (error1, error2……)
(2)源代碼
try:1/0print(name) except (ZeroDivisionError, NameError) as zero:print("異常類型", zero)else:print("沒有發生異常")finally:print("我最后都是要執行的")(3)輸出效果
==4處理未知類型的異常==
(1)說明
由于大部分的異常對象都是繼承Exception對象。所以我們可以用Exception來接收未知的錯誤類型。
(2)源代碼
try:1/0print(name)except Exception as ec:print("異常類型", ec)else:print("沒有發生異常")finally:print("我最后都是要執行的")(3)輸出效果
(三)with語句
(1)說明:
with語句也具有自動的容錯機制,這里只記錄with語句用于文件的操作。
(2)源代碼:
"""高級的文件操作--不需手動關閉文件,并且具有容錯機制 """ with open("test.txt", "r") as f:# f文件對象content = f.read()print(content)(3)輸出效果:
test.txt文件內容是:
1234546
fldklfj dfkkldjf
作者:Mark
日期:2019/02/11 周一
轉載于:https://www.cnblogs.com/zyg123/p/10362262.html
總結
以上是生活随笔為你收集整理的7.1Python异常处理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 贴贴怎么加好友(贴贴是什么梗)
- 下一篇: 15周岁能办银行卡吗? 15岁银行卡能办