成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Python下異常處理

Kross / 2091人閱讀

摘要:程序報(bào)錯(cuò)太常見了,我們可以想辦法修理好它捕獲異常有可能出錯(cuò)的語句出錯(cuò)了沒錯(cuò)的時(shí)候運(yùn)行后面指定了報(bào)錯(cuò)的異常類,在中重要的內(nèi)建異常類有常規(guī)錯(cuò)誤的基類對象沒有這個(gè)屬性輸入輸出操作失敗序列中沒有此索引映射中沒有這個(gè)鍵未聲明初始化對象沒有屬性語法錯(cuò)誤

程序報(bào)錯(cuò)?太常見了,我們可以想辦法修理好它
捕獲異常
number="hello"
try:
    #有可能出錯(cuò)的語句
    number=int(number)
except Exception:
    print("出錯(cuò)了") 
else:
    print("沒錯(cuò)的時(shí)候運(yùn)行")   

except后面指定了報(bào)錯(cuò)的異常類,在python中重要的內(nèi)建異常類有:

Exception 常規(guī)錯(cuò)誤的基類

AttributeError 對象沒有這個(gè)屬性

IOError 輸入/輸出操作失敗

IndexError 序列中沒有此索引(index)

KeyError 映射中沒有這個(gè)鍵

NameError 未聲明/初始化對象 (沒有屬性)

SyntaxError Python 語法錯(cuò)誤

SystemError 一般的解釋器系統(tǒng)錯(cuò)誤

ValueError 傳入無效的參數(shù)

...
除了上述列出來的,其實(shí)python的異常類還有很多,當(dāng)在except后面指定異常類之后,那么只有報(bào)這個(gè)類型異常的時(shí)候才會(huì)輸出“出錯(cuò)了”
當(dāng)然我們也可以去掉Exception,這樣任何異常都可以捕獲到
捕獲多個(gè)異常如何做

#指定多個(gè)異常
number="hello"
try:
    #有可能出錯(cuò)的語句
    number=int(number)
except ValueError:
    print("ValueError出錯(cuò)了")   
except Exception:
    print("Exception出錯(cuò)了") 
else:
    print("沒錯(cuò)的時(shí)候執(zhí)行的語句")    
finally:
    print("無論發(fā)不發(fā)生異常,都會(huì)執(zhí)行的語句")
    
#指定多個(gè)異常
number=[1,2,3]
try:
    #有可能出錯(cuò)的語句
    number=number[4]
except (ValueError,NameError,IndexError):
    print("出錯(cuò)了")   
else:
    print("沒錯(cuò)的時(shí)候運(yùn)行") 
自定義異常類

盡管python給我們提供了很多內(nèi)置的異常類,但是還是不能滿足精確定位的問題,我們可以通過創(chuàng)建一個(gè)新的exception類擁有自己的異常,異常應(yīng)該繼承自Exception類,可以直接繼承,也可以間接繼承

class MyError(Exception):
    def __init__(self):
        pass
    def __str__(self):
        return "this is error"        

def Calc():
    raise MyError()   #通過raise語句拋出一個(gè)錯(cuò)誤的實(shí)例 

Calc()   

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/41175.html

相關(guān)文章

  • python基礎(chǔ)教程:錯(cuò)誤處理異常處理

    摘要:在前面介紹語法的過程中,我們已經(jīng)接觸到了解釋器給的錯(cuò)誤和異常,但并沒有詳細(xì)講解它們。解釋器這樣報(bào)出的好處是告訴我們哪一行代碼出錯(cuò)了錯(cuò)誤的類型是什么。 在前面介紹Python語法的過程中,我們已經(jīng)接觸到了解釋器給的錯(cuò)誤和異常,但并沒有詳細(xì)講解它們?,F(xiàn)在我們就全面的來學(xué)習(xí)Python是對語法錯(cuò)誤等錯(cuò)誤進(jìn)行定義和處理的,這包括至少有兩種可以區(qū)分的錯(cuò)誤,它們是語法錯(cuò)誤和異常。 語法錯(cuò)誤 Pyt...

    tinylcy 評論0 收藏0
  • 使用Python進(jìn)行異常處理

    摘要:為此,我們需要使用不同的異常處理程序定義多個(gè)子句。此異常由另一個(gè)異常子句處理,但除外。提高并重新提出異常中的關(guān)鍵字用于強(qiáng)制發(fā)生異常。如果沒有異常處理代碼,程序?qū)⒅淮蛴″e(cuò)誤消息并終止。因此,我們將使用子句,在記錄錯(cuò)誤后重新引發(fā)異常。 showImg(https://segmentfault.com/img/remote/1460000019165381?w=329&h=388); 來源...

    sydMobile 評論0 收藏0
  • Python數(shù)據(jù)分析基礎(chǔ)】: 異常值檢測和處理

    摘要:紅色箭頭所指就是異常值。箱型圖這種方法是利用箱型圖的四分位距對異常值進(jìn)行檢測,也叫。異常值總結(jié)以上是對異常值檢測和處理方法的匯總。 作者:xiaoyu 微信公眾號:Python數(shù)據(jù)科學(xué) 知乎:python數(shù)據(jù)分析師 showImg(https://segmentfault.com/img/remote/1460000015926587);上一篇分享了關(guān)于數(shù)據(jù)缺失值處理的一些方法,鏈接...

    banana_pi 評論0 收藏0
  • SICP Python 描述 3.4 異常

    摘要:的最常見的作用是構(gòu)造異常實(shí)例并拋出它。子句組只在執(zhí)行過程中的異常產(chǎn)生時(shí)執(zhí)行。每個(gè)子句指定了需要處理的異常的特定類。將強(qiáng)制轉(zhuǎn)為字符串會(huì)得到由返回的人類可讀的字符串。 3.4 異常 來源:3.4 Exceptions 譯者:飛龍 協(xié)議:CC BY-NC-SA 4.0 程序員必須總是留意程序中可能出現(xiàn)的錯(cuò)誤。例子數(shù)不勝數(shù):一個(gè)函數(shù)可能不會(huì)收到它預(yù)期的信息,必需的資源可能會(huì)丟失,或者網(wǎng)...

    pkhope 評論0 收藏0
  • 總結(jié):Python中的異常處理

    摘要:盡量使用內(nèi)置的異常處理語句來替換語句,比如語句,方法。以上是最簡單的重新拋出異常的做法,也是推薦的做法。除了包含所有的外還包含了,和三個(gè)異常。避免在語句塊中干一些沒意義的事情,捕獲異常也是需要成本的。 異常處理在任何一門編程語言里都是值得關(guān)注的一個(gè)話題,良好的異常處理可以讓你的程序更加健壯,清晰的錯(cuò)誤信息更能幫助你快速修復(fù)問題。在Python中,和不部分高級語言一樣,使用了try/ex...

    douzifly 評論0 收藏0

發(fā)表評論

0條評論

最新活動(dòng)
閱讀需要支付1元查看
<