日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

Python编程基础:第二十九节 异常Exception

發布時間:2025/4/5 python 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python编程基础:第二十九节 异常Exception 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

第二十九節 異常Exception

  • 前言
  • 實踐

前言

我們在寫代碼時不可避免地會出錯,這時候編譯器便會拋出異常并中斷程序的執行。針對這種情況,我們可以采用異常處理的方式捕捉程序中的異常信息,并將異常信息打印出來供程序員分析,同時呢還要避免因為程序拋出異常而中斷其繼續向下執行。異常檢測代碼結構如下:

try:要檢測異常信息的代碼段 except 異常信息 as e:要打印的報錯信息供程序員分析 else:如果要檢測的代碼段沒有發生異常,那就執行這部分代碼 finally:無論程序是否有異常,這里的代碼均可以執行

實踐

我們以分母為0為例學習異常處理的相關內容,眾所周知在除法中分母是不能為0的,若分母為0,程序便會拋出異常信息:

numerator = int(input("Enter a number to divide: ")) denominator = int(input("Enter a number to divide by: ")) result = numerator / denominator print(result) >>> Enter a number to divide: 5 >>> Enter a number to divide by: 0 >>> ZeroDivisionError: division by zero

可見程序拋出了異常信息ZeroDivisionError并且中斷執行。此時我們便可以通過try-except結構來捕捉異常信息:

try:numerator = int(input("Enter a number to divide: "))denominator = int(input("Enter a number to divide by: "))result = numerator / denominator except ZeroDivisionError as e:print("You can't divide by zero! idiot!") >>> Enter a number to divide: 5 >>> Enter a number to divide by: 0 >>> You can't divide by zero! idiot!

可見此時程序并沒有中斷,當其發現程序中有ZeroDivisionError時,便執行print("You can't divide by zero! idiot!")這行代碼用于提示程序員發生了除零錯誤。
那么如果我們不小心把除數寫成了字符串會發生什么呢?

numerator = int(input("Enter a number to divide: ")) denominator = int(input("Enter a number to divide by: ")) result = numerator / denominator print(result) >>> Enter a number to divide: 5 >>> Enter a number to divide by: david >>> ValueError: invalid literal for int() with base 10: 'david'

可見代碼拋出了ValueError,提示程序員這里應該是int型數據而不是字符串,那么我們同樣可以使用異常處理方式捕捉這個異常信息:

try:numerator = int(input("Enter a number to divide: "))denominator = int(input("Enter a number to divide by: "))result = numerator / denominator except ZeroDivisionError as e:print("You can't divide by zero! idiot!") except ValueError as e:print("Enter only numbers plz") >>> Enter a number to divide: 5 >>> Enter a number to divide by: david >>> Enter only numbers plz

不難發現程序捕捉到了這個異常信息,并打印出Enter only numbers plz,用于提醒用戶只能輸入數字,不能輸入字符串。其實Python中包含了許許多多的異常信息用于幫助程序員分析代碼,如果我們想讓代碼檢測所有的異常信息,那么就用到了下述代碼:

try:numerator = int(input("Enter a number to divide: "))denominator = int(input("Enter a number to divide by: "))result = numerator / denominator except ZeroDivisionError as e:# 用于打印程序自帶的異常信息print(e)print("You can't divide by zero! idiot!") except ValueError as e:print(e)print("Enter only numbers plz") except Exception as e:print(e)print("something went wrong :(")

也就是不指定特定的異常信息,用Exception來代替,這樣做的好處就是程序即便發現了異常也不會中斷會繼續執行下去。這里需要注意的是,在判斷異常時,一定是先判斷是否是某一類異常,最后再判斷是否是一個異常信息。那么如果程序沒有異常時,我們希望它能執行的代碼放在else語句下邊:

try:numerator = int(input("Enter a number to divide: "))denominator = int(input("Enter a number to divide by: "))result = numerator / denominator except ZeroDivisionError as e:print(e)print("You can't divide by zero! idiot!") except ValueError as e:print(e)print("Enter only numbers plz") except Exception as e:print(e)print("something went wrong :(") else:print(result) >>> Enter a number to divide: 5 >>> Enter a number to divide by: 1 >>> 5.0

可見,當我們的輸入都合法時,程序就會得到兩個數相除的計算結果并打印到控制臺。其實我們還可以書寫一些代碼,這些代碼無論程序是否發生異常,他們都會被執行,這些代碼需要放在finally的下面:

try:numerator = int(input("Enter a number to divide: "))denominator = int(input("Enter a number to divide by: "))result = numerator / denominator except ZeroDivisionError as e:print(e)print("You can't divide by zero! idiot!") except ValueError as e:print(e)print("Enter only numbers plz") except Exception as e:print(e)print("something went wrong :(") else:print(result) finally:print("This will always execute") >>> Enter a number to divide: 5 >>> Enter a number to divide by: 1 >>> 5.0 >>> This will always execute>>> Enter a number to divide: 5 >>> Enter a number to divide by: 0 >>> division by zero >>> You can't divide by zero! idiot! >>> This will always execute

以上便是異常的全部內容,感謝大家的收藏、點贊、評論。我們下一節將介紹文件檢測(File Detection),敬請期待~

總結

以上是生活随笔為你收集整理的Python编程基础:第二十九节 异常Exception的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 久久久久久婷婷 | 免费吸乳羞羞网站视频 | 久久久久久久美女 | 日韩一区二区三区视频在线 | 欧美日韩亚洲国产一区 | 日韩视频在线观看视频 | 天天综合人人 | 亚洲美女久久 | 一区二区视频免费 | 在线看黄色网 | 黄色国产精品 | 中文资源在线观看 | 91av短视频 | 超碰免费在线观看 | 久久精品免费网站 | 日本精品免费在线观看 | 中文天堂 | 性做久久久久久久免费看 | 亚洲成人av在线播放 | 91亚洲精品在线 | 亚洲jlzzjizz少妇 | 97超碰站| 91在线导航 | 免费在线小视频 | 落日余晖图片 | 成人av观看 | 7777奇米影视 | 三级性视频 | 色黄大色黄女片免费中国 | 午夜视频h | 欧美日韩成人一区二区三区 | 香蕉视频在线观看www | 91原创视频在线观看 | 日韩二区在线 | 亚洲中国色老太 | 自拍超碰在线 | 久久不卡 | 色综合网址 | 97日日夜夜 | 亚洲乱码日产精品bd在线观看 | 欧美在线色图 | 久久美女视频 | 熟妇高潮一区二区三区 | 国产成人av片 | 91在线精品一区二区三区 | 污视频网站在线 | 一本一道人人妻人人妻αv 九一在线视频 | 姐姐的秘密韩剧免费观看全集中文 | 主播av在线 | av看片网站 | 免费看a| 亚洲第9页 | 综合色区 | 成人在线观看免费视频 | 日本少妇喷水视频 | 精品久久久久久久久久久久久久久久久久 | 粉嫩av一区二区三区四区五区 | 日韩中文字幕不卡 | 日韩综合在线 | 久久国产美女视频 | 久久久久久亚洲中文字幕无码 | 国产一区观看 | 国产综合久久久久 | 日韩在线播放一区二区 | 亚洲欧美精品suv | 婷婷色婷婷 | 亚洲av无码电影在线播放 | 精品人妻一区二区三区四区五区 | 久久99精品波多结衣一区 | 国产精品1024 | 人妖ts福利视频一二三区 | 亚洲一区二区三区四区五区六区 | 四虎4hu永久免费网站影院 | xxxx999| 国产成人亚洲一区二区 | 羞羞色院91蜜桃 | 在线看成人 | 成人黄色小说在线观看 | 久久h视频 | 天天躁日日摸久久久精品 | 欧洲美女与动交ccoo | 天天爱天天插 | 午夜视频一区二区三区 | 美女露胸无遮挡 | 人妻一区二区三区免费 | 在线看成人| 国产精品视频久久久久久久 | 成av人片一区二区三区久久 | 免费成人精品 | 一本色道久久综合亚洲精品图片 | 亚洲自拍另类 | 伊人色综合网 | 日韩av视屏 | 欧美一区二区三区免费 | 国产午夜手机精彩视频 | 日本a级片视频 | 色播激情 | 男人天堂社区 | 人人九九精品 |