創(chuàng)新互聯(lián)www.cdcxhl.cn八線動(dòng)態(tài)BGP香港云服務(wù)器提供商,新人活動(dòng)買多久送多久,劃算不套路!
這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)?lái)有關(guān)怎么避免在異常處理時(shí)錯(cuò)誤的使用參數(shù),文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
在異常處理時(shí)錯(cuò)誤的使用參數(shù)
假設(shè)你有如下的代碼:
>>> try: ... l = ["a", "b"] ... int(l[2]) ... except ValueError, IndexError: # 想捕捉兩個(gè)異常 ... pass ... Traceback (most recent call last): File "<stdin>", line 3, in <module> IndexError: list index out of range
這里的問(wèn)題在于except語(yǔ)句不會(huì)像這樣去接受一系列的異常。并且,在Python 2.x里面,語(yǔ)法except Exception, e是用來(lái)將異常和這個(gè)可選的參數(shù)綁定起來(lái)(即這里的e),以用來(lái)在后面查看的。因此,在上面的代碼中,IndexError異常不會(huì)被except語(yǔ)句捕捉到;而最終ValueError這個(gè)異常被綁定在了一個(gè)叫做IndexError的參數(shù)上。
在except語(yǔ)句中捕捉多個(gè)異常的正確做法是將所有想要捕捉的異常放在一個(gè)元組(tuple)里并作為第一個(gè)參數(shù)給except語(yǔ)句。并且,為移植性考慮,使用as關(guān)鍵字,因?yàn)镻ython 2和Python 3都支持這樣的語(yǔ)法,例如:
>>> try: ... l = ["a", "b"] ... int(l[2]) ... except (ValueError, IndexError) as e: ... pass ... >>>
上述就是小編為大家分享的怎么避免在異常處理時(shí)錯(cuò)誤的使用參數(shù)了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道。
網(wǎng)站名稱:怎么避免在異常處理時(shí)錯(cuò)誤的使用參數(shù)-創(chuàng)新互聯(lián)
鏈接地址:http://chinadenli.net/article26/dihgjg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供電子商務(wù)、營(yíng)銷型網(wǎng)站建設(shè)、Google、外貿(mào)網(wǎng)站建設(shè)、網(wǎng)站排名、靜態(tài)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容