日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

詳解python中的異常捕獲

瀏覽:46日期:2022-07-02 10:06:38
異常

異常是程序發(fā)生錯誤的信號,程序一旦出錯就會拋出異常,程序的運行隨之終止。

# 異常處理的三個特征- 異常的追蹤信息- 異常的類型- 異常的內(nèi)容

捕獲異常的目的:為了增強程序的健壯性,即便程序運行過程中出錯,也不要終止程序,而是捕獲異常并處理,將出錯信息記錄到日志內(nèi)。

# 語法上錯誤SyntaxError- 處理方式1:必須在程序運行前就改正# 邏輯上的錯誤- 錯誤發(fā)生的條件是可以預知的 --> if判斷- 錯誤發(fā)生的條件是無法預知的 --> 異常捕獲 try

本來程序一旦出現(xiàn)異常就整體結(jié)束掉了,有了異常處理以后,在被檢測的代碼塊出現(xiàn)異常時,被檢測的代碼塊中異常發(fā)生位置之后的代碼將不會執(zhí)行,取而代之的是執(zhí)行匹配異常的except子代碼塊,其余代碼均正常運行。

異常捕獲

當被檢測的代碼塊中有可能觸發(fā)不同類型的異常時,針對不同類型的異常:

如果我們想分別用不同的邏輯處理,需要用到多分支的except(類似于多分支的elif,從上到下依次匹配,匹配成功一次便不再匹配其他)

try: # 有可能會拋出異常的代碼 子代碼1 子代碼2 子代碼3except 異常類型1 as e:# as語法將異常類型的值賦值給變量e,這樣我們通過打印e便可以知道錯誤的原因 passexcept 異常類型2 as e: pass...else: 如果被檢測的子代碼塊沒有異常發(fā)生,則會執(zhí)行else的子代碼finally: 無論被檢測的子代碼塊有無異常發(fā)生,都會執(zhí)行finally的子代碼 # try不能和else單獨連用# try 和 finally 連用,就算出了異常也先執(zhí)行finally下代碼塊再拋出異常

如果我們想多種類型的異常統(tǒng)一用一種邏輯處理,可以將多個異常放到一個元組內(nèi),用一個except匹配。

try: 被檢測的代碼塊except (NameError,IndexError,TypeError): 觸發(fā)NameError或IndexError或TypeError時對應(yīng)的處理邏輯

如果我們想捕獲所有異常并用一種邏輯處理,Python提供了一個萬能異常類型 Exception

try: 被檢測的代碼塊except NameError: 觸發(fā)NameError時對應(yīng)的處理邏輯except IndexError: 觸發(fā)IndexError時對應(yīng)的處理邏輯except Exception: 其他類型的異常統(tǒng)一用此處的邏輯處理

在不符合Python解釋器的語法或邏輯規(guī)則時,是由Python解釋器主動觸發(fā)的各種類型的異常,而對于違反程序員自定制的各類規(guī)則,則需要由程序員自己來明確地觸發(fā)異常,這就用到了raise語句,raise后必須是一個異常的類或者是異常的實例

class Student: def __init__(self,name,age): if not isinstance(name,str): raise TypeError(’name must be str’) if not isinstance(age,int): raise TypeError(’age must be int’) self.name=name self.age=agestu1=Student(4573,18) # TypeError: name must be strstu2=Student(’egon’,’18’) # TypeError: age must be int

在內(nèi)置異常不夠用的情況下,我們可以通過繼承內(nèi)置的異常類來自定義異常類

class PoolEmptyError(Exception): # 可以通過繼承Exception來定義一個全新的異常 def __init__(self,value=’The proxy source is exhausted’): # 可以定制初始化方法 super(PoolEmptyError,self).__init__() self.value=value def __str__(self): # 可以定義該方法用來定制觸發(fā)異常時打印異常值的格式 return ’< %s >’ %self.valueclass NetworkIOError(IOError): # 也可以在特定異常的基礎(chǔ)上擴展一個相關(guān)的異常 passraise PoolEmptyError # __main__.PoolEmptyError: < The proxy source is exhausted >raise NetworkIOError(’連接被拒絕’) # __main__.NetworkIOError: 連接被拒絕

最后,Python還提供了一個斷言語句assert expression,斷定表達式expression成立,否則觸發(fā)異常AssertionError,與raise-if-not的語義相同,如下

age=’18’# 若表達式isinstance(age,int)返回值為False則觸發(fā)異常AssertionErrorassert isinstance(age,int)# 等同于if not isinstance(age,int): raise AssertionError

在了解了異常處理機制后,本著提高程序容錯性和可靠性的目的,讀者可能會錯誤地認為應(yīng)該盡可能多地為程序加上try...except...,這其是在過度消費程序的可讀性,因為try...except本來就是你附加給程序的一種額外的邏輯,與你的主要工作是沒有多大關(guān)系的。所以不要隨便使用異常捕獲,只用當當異常發(fā)生時不可預知時,或萬不得已時才使用異常捕獲。

以上就是詳解python中的異常捕獲的詳細內(nèi)容,更多關(guān)于python 異常捕獲的資料請關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標簽: Python 編程
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
日韩高清欧美激情| 麻豆视频在线观看免费网站黄| 久久久久中文| 在线一区视频观看| 免费观看亚洲| 精品一区在线| 性一交一乱一区二区洋洋av| 99国产精品私拍| 手机精品视频在线观看| 亚洲一区导航| 国产调教精品| 欧美男人天堂| 成人看片网站| 国产亚洲精品v| 日韩综合一区二区| 国产精品分类| 日韩欧美另类一区二区| 亚洲欧美日韩高清在线| 久久国产精品色av免费看| 少妇精品久久久一区二区三区| 国产成人久久精品麻豆二区 | 国产精品yjizz视频网| 欧洲精品一区二区三区| 99国内精品| 最新国产精品视频| 麻豆视频观看网址久久| 久久精品青草| 亚洲日本免费电影| 精品日本视频| 亚洲免费激情| 国产日韩欧美一区二区三区在线观看 | 中文在线а√天堂| 亚洲二区视频| 欧美中文一区| 日韩免费福利视频| 久热re这里精品视频在线6| 欧美欧美黄在线二区| 蜜桃av.网站在线观看| 免费人成精品欧美精品| 久久精品一区| 男女男精品视频网| jizzjizz中国精品麻豆| 亚洲一区二区三区在线免费| 国产激情欧美| 蜜桃视频欧美| 国产丝袜一区| 国户精品久久久久久久久久久不卡| 日本中文字幕视频一区| 中文字幕人成乱码在线观看| 鲁大师影院一区二区三区| 国产精品亚洲人成在99www| 日韩免费av| 日韩黄色在线观看| 久久国产免费| 国产日韩一区二区三区在线| 午夜欧美在线| 国产第一亚洲| 日本亚洲最大的色成网站www| 老牛影视精品| 欧美日韩网址| 国产亚洲午夜| 日韩久久精品网| 欧美一区二区三区免费看| 激情欧美国产欧美| 久久精品国产亚洲一区二区三区| 在线亚洲欧美| 特黄毛片在线观看| 国产日本精品| 美女日韩在线中文字幕| av资源亚洲| 国产毛片精品| 日韩在线卡一卡二| a日韩av网址| 国产欧美高清| 每日更新成人在线视频| 日韩欧美国产精品综合嫩v| 日韩av中文字幕一区二区三区| 亚洲一级网站| 美女av在线免费看| 国产精品白浆| 亚洲精品第一| 午夜日本精品| 啪啪国产精品| 成人在线观看免费视频| 欧美欧美黄在线二区| 蜜桃一区二区三区在线| 国产精品7m凸凹视频分类| 黑森林国产精品av| 精品网站999| 国产精品久久久久77777丨| 中文字幕日韩高清在线| 中文久久精品| 欧美福利在线| 婷婷成人在线| 99久久夜色精品国产亚洲狼| 高潮久久久久久久久久久久久久| 国产欧美另类| 国产欧美日韩一区二区三区四区 | 蜜桃精品视频| 国产亚洲高清一区| 无码日韩精品一区二区免费| 美女国产一区| 亚洲激情黄色| 伊人久久大香线蕉av不卡| 亚洲午夜天堂| 成人日韩在线| 成人羞羞视频播放网站| 欧美国产美女| 粉嫩av一区二区三区四区五区| 久久wwww| 精品视频国内| 国产传媒在线| 日韩精品第一区| 欧美日韩免费观看视频| 精品欧美一区二区三区在线观看| 日韩精品专区| 久久在线免费| 91久久亚洲| 国产精品日本| 男人操女人的视频在线观看欧美| 欧美日韩免费观看一区=区三区 | 日本特黄久久久高潮| 日韩超碰人人爽人人做人人添| 亚洲午夜久久| 日韩精品中文字幕一区二区| 日韩三级一区| 欧美日韩18| 久久99影视| аⅴ资源天堂资源库在线| 精品国产免费人成网站| 性欧美videohd高精| 日本欧美国产| 亚洲爱爱视频| 一区二区亚洲精品| 热久久久久久久| 日韩欧美四区| 国产精品久久777777毛茸茸| 久久精品人人| 午夜影院一区| 图片区亚洲欧美小说区| 亚洲欧美不卡| 欧美亚洲福利| 91欧美在线| 香蕉精品视频在线观看| 亚洲精品一级| 精品视频一区二区三区四区五区 | 一区二区国产在线观看| 久久精品凹凸全集| 国产精品99在线观看| 久久婷婷一区| 免费在线观看日韩欧美| 日本午夜免费一区二区| 国产精品3区| 日韩另类视频| 国产亚洲精品久久久久婷婷瑜伽| 涩涩涩久久久成人精品| 久久不见久久见免费视频7| 98精品视频| 水蜜桃久久夜色精品一区的特点| 日韩精品三级| 激情视频网站在线播放色| 亚洲深夜影院| 久久成人av| 亚洲激情欧美| 国产精品白浆| 欧美日韩第一| 国产欧美高清视频在线| 私拍精品福利视频在线一区| 一区二区三区网站| 国产精品第一| 亚洲国产综合在线看不卡| 亚洲精品大片| 另类专区亚洲| 蜜桃av一区二区在线观看| 精品午夜久久| 日韩精品一区第一页| 国产成人精品三级高清久久91 | 日韩激情精品| 99久久精品国产亚洲精品| 亚洲精品影院在线观看| 日韩成人精品一区| 亚洲欧美专区| 久久天堂av| 色综合视频一区二区三区日韩| 成人影视亚洲图片在线| 在线精品国产亚洲| 国产不卡精品在线| 亚洲精品系列| 999国产精品视频| 国产精品亚洲二区| av一区二区高清| 久久婷婷国产| 亚洲精品大片| 成人av二区| 国产在线一区不卡| 亚洲3区在线| 91九色精品| 水蜜桃精品av一区二区| 人人精品人人爱| 久久婷婷久久|