实战IT培训机构_IT培训班选大学生IT技术培训中心_中公优就业

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

【Python基礎(chǔ)知識】Python處理異常語句

  • 發(fā)布: 優(yōu)就業(yè)it培訓(xùn)
  • 來源:優(yōu)就業(yè)
  • 2021-06-18 18:26:16
  • 閱讀()
  • 分享
  • 手機端入口

1、try-except語句

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

try:

代碼塊1

except 異常名稱:

代碼塊2

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

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

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

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

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

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

輸入幾組數(shù)據(jù),測試運行結(jié)果:

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

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

2、else語句

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

try:

代碼塊1

except:

代碼塊2

else:

代碼塊3

當(dāng)未引發(fā)任何異常時,執(zhí)行else代碼塊:

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

輸入一組數(shù)據(jù),運行結(jié)果:

  1. 請輸入被除數(shù):10 
  2. 請輸入除數(shù):5 
  3. ============================== 
  4. 結(jié)果為2.0 

3、finally語句

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

try:

代碼塊1

except :

代碼塊2

finally :

代碼塊3

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

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

當(dāng)發(fā)生異常時,else代碼塊并沒有執(zhí)行,但是finally代碼塊執(zhí)行了:

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

當(dāng)未發(fā)生異常時,else代碼塊執(zhí)行了,finally代碼塊也執(zhí)行了:

  1. 請輸入被除數(shù):10 
  2. 請輸入除數(shù):5 
  3. 結(jié)果為2.0 
  4. 再見! 

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

4、raise語句

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

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

 

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

更多內(nèi)容

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

THE END  

聲明:本站稿件版權(quán)均屬中公教育優(yōu)就業(yè)所有,未經(jīng)許可不得擅自轉(zhuǎn)載。

1 您的年齡

2 您的學(xué)歷

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

獲取測試結(jié)果
  • 大前端大前端
  • 大數(shù)據(jù)大數(shù)據(jù)
  • 互聯(lián)網(wǎng)營銷互聯(lián)網(wǎng)營銷
  • JavaJava
  • Linux云計算Linux
  • Python+人工智能Python
  • 嵌入式物聯(lián)網(wǎng)嵌入式
  • 全域電商運營全域電商運營
  • 軟件測試軟件測試
  • 室內(nèi)設(shè)計室內(nèi)設(shè)計
  • 平面設(shè)計平面設(shè)計
  • 電商設(shè)計電商設(shè)計
  • 網(wǎng)頁設(shè)計網(wǎng)頁設(shè)計
  • 全鏈路UI/UE設(shè)計UI設(shè)計
  • VR/AR游戲開發(fā)VR/AR
  • 網(wǎng)絡(luò)安全網(wǎng)絡(luò)安全
  • 新媒體與短視頻運營新媒體
  • 直播帶貨直播帶貨
  • 智能機器人軟件開發(fā)智能機器人
 

快速通道fast track

近期開班時間TIME

主站蜘蛛池模板: 免费网站网址收录网_海企优网站推荐平台 | 管理会计网-PCMA初级管理会计,中级管理会计考试网站 | 儿童乐园|游乐场|淘气堡招商加盟|室内儿童游乐园配套设备|生产厂家|开心哈乐儿童乐园 | 据信,上课带着跳 D 体验-别样的课堂刺激感受引发网友热议 | led全彩屏-室内|学校|展厅|p3|户外|会议室|圆柱|p2.5LED显示屏-LED显示屏价格-LED互动地砖屏_蕙宇屏科技 | 冷柜风机-冰柜电机-罩极电机-外转子风机-EC直流电机厂家-杭州金久电器有限公司 | 安德建奇火花机-阿奇夏米尔慢走丝|高维|发那科-北京杰森柏汇 | 武汉刮刮奖_刮刮卡印刷厂_为企业提供门票印刷_武汉合格证印刷_现金劵代金券印刷制作 - 武汉泽雅印刷有限公司 | 注塑机-压铸机-塑料注塑机-卧式注塑机-高速注塑机-单缸注塑机厂家-广东联升精密智能装备科技有限公司 | 无线联网门锁|校园联网门锁|学校智能门锁|公租房智能门锁|保障房管理系统-KEENZY中科易安 | 济南侦探调查-济南调查取证-山东私家侦探-山东白豹调查咨询公司 密集架|电动密集架|移动密集架|黑龙江档案密集架-大量现货厂家销售 | 耐酸泵,耐腐蚀真空泵,耐酸真空泵-淄博华舜耐腐蚀真空泵有限公司 精密模具-双色注塑模具加工-深圳铭洋宇通 | 垃圾处理设备_餐厨垃圾处理设备_厨余垃圾处理设备_果蔬垃圾处理设备-深圳市三盛环保科技有限公司 | 防勒索软件_数据防泄密_Trellix(原McAfee)核心代理商_Trellix(原Fireeye)售后-广州文智信息科技有限公司 | PC构件-PC预制构件-构件设计-建筑预制构件-PC构件厂-锦萧新材料科技(浙江)股份有限公司 | 深圳办公室装修-写字楼装修设计-深圳标榜装饰公司 | 等离子表面处理机-等离子表面活化机-真空等离子清洗机-深圳市东信高科自动化设备有限公司 | 运动木地板厂家_体育木地板安装_篮球木地板选购_实木运动地板价格 | 手持气象站_便携式气象站_农业气象站_负氧离子监测站-山东万象环境 | 北京租车公司_汽车/客车/班车/大巴车租赁_商务会议/展会用车/旅游大巴出租_北京桐顺创业租车公司 | 卫浴散热器,卫浴暖气片,卫生间背篓暖气片,华圣格浴室暖气片 | 超细|超微气流粉碎机|气流磨|气流分级机|粉体改性机|磨粉机|粉碎设备-山东埃尔派粉体科技 | MES系统工业智能终端_生产管理看板/安灯/ESOP/静电监控_讯鹏科技 | NMRV减速机|铝合金减速机|蜗轮蜗杆减速机|NMRV减速机厂家-东莞市台机减速机有限公司 | 深圳展厅设计_企业展馆设计_展厅设计公司_数字展厅设计_深圳百艺堂 | 工作服定制,工作服定做,工作服厂家-卡珀职业服装(苏州)有限公司 | 拼装地板,悬浮地板厂家,悬浮式拼装运动地板-石家庄博超地板科技有限公司 | 断桥铝破碎机_发动机破碎机_杂铝破碎机厂家价格-皓星机械 | 电镀电源整流器_高频电解电源_单脉双脉冲电源 - 东阳市旭东电子科技 | 等离子空气净化器_医用空气消毒机_空气净化消毒机_中央家用新风系统厂家_利安达官网 | 选矿设备,选矿生产线,选矿工艺,选矿技术-昆明昆重矿山机械 | 垃圾处理设备_餐厨垃圾处理设备_厨余垃圾处理设备_果蔬垃圾处理设备-深圳市三盛环保科技有限公司 | 直流电能表-充电桩电能表-导轨式电能表-智能电能表-浙江科为电气有限公司 | 优宝-汽车润滑脂-轴承润滑脂-高温齿轮润滑油脂厂家 | 首页|光催化反应器_平行反应仪_光化学反应仪-北京普林塞斯科技有限公司 | 标准光源箱|对色灯箱|色差仪|光泽度仪|涂层测厚仪_HRC大品牌生产厂家 | 订做不锈钢_不锈钢定做加工厂_不锈钢非标定制-重庆侨峰金属加工厂 | 检验科改造施工_DSA手术室净化_导管室装修_成都特殊科室建设厂家_医疗净化工程公司_四川华锐 | 安徽合肥项目申报咨询公司_安徽合肥高新企业项目申报_安徽省科技项目申报代理 | 铝箔袋,铝箔袋厂家,东莞铝箔袋,防静电铝箔袋,防静电屏蔽袋,防静电真空袋,真空袋-东莞铭晋让您的产品与众不同 | 锻造液压机,粉末冶金,拉伸,坩埚成型液压机定制生产厂家-山东威力重工官方网站 |