实战IT培训机构_黄色激情网站_IT培训班选大学生IT技术培训中心_黄色激情视频网站_中公优就业

400-650-7353
您所在的位置:首頁 > IT干貨資料 > python > 【Python基礎知識】Python處理異常語句

【Python基礎知識】Python處理異常語句

  • 發布: 優就業it培訓
  • 來源:優就業
  • 2021-06-18 18:26:16
  • 閱讀()
  • 分享
  • 手機端入口

1、try-except語句

在代碼中出現的異常,除了可以看到解釋器報錯外,還可以捕獲并處理它們。在Python中使用try-except語句處理異常,語法格式如下:

try:

代碼塊1

except 異常名稱:

代碼塊2

try-except語句的工作流程如下:

①執行在try和except之間的代碼塊1,如果發生了異常,則會根據異常類型提交處理,這一過程為異常捕獲。

②如果發生except 后指定的異常,那么跳過代碼塊1中剩余的代碼,執行except語句下面的代碼塊2。成功處理指定異常的過程稱為異常處理。

③如果沒有發生指定的異常,那么執行完try和except之間的代碼塊1后,跳過except語句下面的代碼塊2,繼續執行后面的代碼。

下面是一個處理異常的示例,它讓用戶輸入兩個整數,并求出這兩個整數相除的結果,由于用戶輸入的除數可能為零,除數為零就會發生異常(使用腳本模式運行):

  1. x = int(input('請輸入被除數:')) 
  2. y = int(input('請輸入除數:')) 
  3. try
  4.     result = x / y 
  5.     print('結果為{}'.format(result)) 
  6. except ZeroDivisionError: 
  7.     print('除數不能為零'
  8. print('=' * 30)   # 這一行用來確定程序運行到哪了 

輸入幾組數據,測試運行結果:

  1. 請輸入被除數:10 
  2. 請輸入除數:5 
  3. 結果為2.0 
  4. ============================== 
  5. 請輸入被除數:10 
  6. 請輸入除數:0 
  7. 除數不能為零 
  8. ============================== 

由此可知,如果程序發生了指定異常,并且成功將它捕獲,那么Python解釋器并不會報錯,而是跳過try和except之間的代碼塊,執行except語句下面的的代碼塊。

2、else語句

在try-except語句塊中,還可以包含else語句,其語法格式如下:

try:

代碼塊1

except:

代碼塊2

else:

代碼塊3

當未引發任何異常時,執行else代碼塊:

  1. try
  2.     x = int(input('請輸入被除數:')) 
  3.     y = int(input('請輸入除數:')) 
  4.     result = x / y 
  5. except (ZeroDivisionError, ValueError):  # 這里同時捕獲兩種異常 
  6.     print('除數不能為零, 且被除數與除數必須為數字'
  7. else
  8.     print('=' * 30
  9.     print('結果為{}'.format(result)) 

輸入一組數據,運行結果:

  1. 請輸入被除數:10 
  2. 請輸入除數:5 
  3. ============================== 
  4. 結果為2.0 

3、finally語句

Python中的finally用來做后續的“清理工作”,其語法格式如下:

try:

代碼塊1

except :

代碼塊2

finally :

代碼塊3

如果存在finally語句,無論try-except代碼塊是否發生錯誤,finally代碼塊都將執行:

  1. try
  2.     x = int(input('請輸入被除數:')) 
  3.     y = int(input('請輸入除數:')) 
  4.     result = x / y 
  5. except (ZeroDivisionError, ValueError):  
  6.     print('除數不能為零, 且被除數與除數必須為數字')  
  7. else
  8.     print('結果為{}'.format(result)) 
  9. finally
  10.     print('再見!'

當發生異常時,else代碼塊并沒有執行,但是finally代碼塊執行了:

  1. 請輸入被除數:10 
  2. 請輸入除數:0 
  3. 除數不能為零, 且被除數與除數必須為數字 
  4. 再見! 

當未發生異常時,else代碼塊執行了,finally代碼塊也執行了:

  1. 請輸入被除數:10 
  2. 請輸入除數:5 
  3. 結果為2.0 
  4. 再見! 

因此,當存在try-except-else-finally語句時,首先執行try-except代碼塊;如果沒有異常,那么執行else代碼塊,否則不執行;而finally代碼塊無論怎樣都會執行。

4、raise語句

raise語句用來拋出異常,可以自定義引發哪種錯誤以及向用戶顯示文本。拋出自定義異常時,可以在異常類型后加上括號,并在括號內寫出要顯示的文本。在下面的示例中,引發類型異常時,自定義的提示文本是“類型不對”:

  1. >>> raise TypeError('類型不對'
  2. Traceback (most recent call last): 
  3.   File "<stdin>", line 1in <module> 
  4. TypeError: 類型不對 

 

文章“【Python基礎知識】Python處理異常語句”已幫助

更多內容

>>本文地址:http://www.jecan.cn/zhuanye/2021/69065.html

THE END  

聲明:本站稿件版權均屬中公教育優就業所有,未經許可不得擅自轉載。

1 您的年齡

2 您的學歷

3 您更想做哪個方向的工作?

獲取測試結果
  • 大前端大前端
  • 大數據大數據
  • 互聯網營銷互聯網營銷
  • JavaJava
  • Linux云計算Linux
  • Python+人工智能Python
  • 嵌入式物聯網嵌入式
  • 全域電商運營全域電商運營
  • 軟件測試軟件測試
  • 室內設計室內設計
  • 平面設計平面設計
  • 電商設計電商設計
  • 網頁設計網頁設計
  • 全鏈路UI/UE設計UI設計
  • VR/AR游戲開發VR/AR
  • 網絡安全網絡安全
  • 新媒體與短視頻運營新媒體
  • 直播帶貨直播帶貨
  • 智能機器人軟件開發智能機器人
 

快速通道fast track

近期開班時間TIME

主站蜘蛛池模板: 乳化沥青设备_改性沥青设备_沥青加温罐_德州市昊通路桥工程有限公司 | 无锡网站建设_企业网站定制-网站制作公司-阿凡达网络 | 成都热收缩包装机_袖口式膜包机_高速塑封机价格_全自动封切机器_大型套膜机厂家 | 皮带机-带式输送机价格-固定式胶带机生产厂家-河南坤威机械 | 团建-拓展-拓展培训-拓展训练-户外拓展训练基地[无锡劲途] | 海尔生物医疗四川代理商,海尔低温冰箱四川销售-成都壹科医疗器械有限公司 | 培训一点通 - 合肥驾校 - 合肥新亚驾校 - 合肥八一驾校 | 北京浩云律师事务所-法律顾问_企业法务_律师顾问_公司顾问 | 网优资讯-为循环资源、大宗商品、工业服务提供资讯与行情分析的数据服务平台 | 医用酒精_84消毒液_碘伏消毒液等医用消毒液-漓峰消毒官网 | 吸污车_吸粪车_抽粪车_电动三轮吸粪车_真空吸污车_高压清洗吸污车-远大汽车制造有限公司 | 浙江上沪阀门有限公司| 防水套管_柔性防水套管_刚性防水套管-巩义市润达管道设备制造有限公司 | 绿萝净除甲醛|深圳除甲醛公司|测甲醛怎么收费|培训机构|电影院|办公室|车内|室内除甲醛案例|原理|方法|价格立马咨询 | 青岛美佳乐清洁工程有限公司|青岛油烟管道清洗|酒店|企事业单位|学校工厂厨房|青岛油烟管道清洗 插针变压器-家用电器变压器-工业空调变压器-CD型电抗器-余姚市中驰电器有限公司 | 广州各区危化证办理_危险化学品经营许可证代办 | 扬尘在线监测系统_工地噪声扬尘检测仪_扬尘监测系统_贝塔射线扬尘监测设备「风途物联网科技」 | 真空干燥烘箱_鼓风干燥箱 _高低温恒温恒湿试验箱_光照二氧化碳恒温培养箱-上海航佩仪器 | 蒸汽热收缩机_蒸汽发生器_塑封机_包膜机_封切收缩机_热收缩包装机_真空机_全自动打包机_捆扎机_封箱机-东莞市中堡智能科技有限公司 | 能量回馈_制动单元_电梯节能_能耗制动_深圳市合兴加能科技有限公司 | 浙江华锤电器有限公司_地磅称重设备_防作弊地磅_浙江地磅售后维修_无人值守扫码过磅系统_浙江源头地磅厂家_浙江工厂直营地磅 | Dataforth隔离信号调理模块-信号放大模块-加速度振动传感器-北京康泰电子有限公司 | 广州展览制作|展台制作工厂|展览设计制作|展览展示制作|搭建制作公司 | 根系分析仪,大米外观品质检测仪,考种仪,藻类鉴定计数仪,叶面积仪,菌落计数仪,抑菌圈测量仪,抗生素效价测定仪,植物表型仪,冠层分析仪-杭州万深检测仪器网 | 手术室净化厂家_成都实验室装修公司_无尘车间施工单位_洁净室工程建设团队-四川华锐16年行业经验 | 诺冠气动元件,诺冠电磁阀,海隆防爆阀,norgren气缸-山东锦隆自动化科技有限公司 | 安全光栅|射频导纳物位开关|音叉料位计|雷达液位计|两级跑偏开关|双向拉绳开关-山东卓信机械有限公司 | 云南丰泰挖掘机修理厂-挖掘机维修,翻新,再制造的大型企业-云南丰泰工程机械维修有限公司 | 昆明化妆培训-纹绣美甲-美容美牙培训-昆明博澜培训学校 | 山东钢格板|栅格板生产厂家供应商-日照森亿钢格板有限公司 | 体坛网_体坛+_体坛周报新闻客户端 | 北京浩云律师事务所-法律顾问_企业法务_律师顾问_公司顾问 | 精雕机-火花机-精雕机 cnc-高速精雕机-电火花机-广东鼎拓机械科技有限公司 | 沈阳缠绕膜价格_沈阳拉伸膜厂家_沈阳缠绕膜厂家直销 | 诺冠气动元件,诺冠电磁阀,海隆防爆阀,norgren气缸-山东锦隆自动化科技有限公司 | 心得体会网_心得体会格式范文模板 | 必胜高考网_全国高考备考和志愿填报信息平台 | 黑田精工电磁阀-CAMMOZI气缸-ROSS电磁-上海茂硕机械设备有限公司 | 赛默飞Thermo veritiproPCR仪|ProFlex3 x 32PCR系统|Countess3细胞计数仪|371|3111二氧化碳培养箱|Mirco17R|Mirco21R离心机|仟诺生物 | ◆大型吹塑加工|吹塑加工|吹塑代加工|吹塑加工厂|吹塑设备|滚塑加工|滚塑代加工-莱力奇塑业有限公司 | 工程管道/塑料管材/pvc排水管/ppr给水管/pe双壁波纹管等品牌管材批发厂家-河南洁尔康建材 |