亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

編寫自定義異常代碼,編譯出錯

在win7環境下編寫以下代碼并執行,結果出錯,提示沒有定義異常,但是代碼里明明定義了???

求指導??!http://img1.sycdn.imooc.com//580f60a30001e88305140166.jpg

代碼:

class CustomError(Exception):

? ? def __init__(self, info):

? ? ? ? Exception.__init__(self)

? ? ? ? self.errorinfo = info

? ? ? ? print 'self.errorinfo'

? ? def __str__(self):

? ? ? ? return 'customError: %s'% self.error.info

try:

? ? raise customError("test")

except customError, e:

? ? print 'info:%s'%(e)


正在回答

3 回答

自定義的異常名為:CustomError,引用時卻用的是customError。Python是大小寫敏感的,建議使用iPython,每次引用變量名時常按tab鍵自動補全功能,既提高代碼輸入效率,又能避免輸入錯誤。

0 回復 有任何疑惑可以回復我~

上述代碼錯誤原因:

1、上面定義的是?CustomError類,而后面捕獲異常的時候,是customError,大小寫錯誤,python對大小寫敏感。

2、定義的?CustomError類,return 返回出現錯誤,errorinfo中間有點,應該是連接在一起。

正確代碼如下(我的是python3環境):

class?CustomError(Exception):
????def?__init__(self,?info):
????????Exception.__init__(self)
????????self.errorinfo?=?info
????????print(self.errorinfo)
????def?__str__(self):
????????return?'customError:?%s'%?self.errorinfo
try:
????raise?CustomError("test")
except?CustomError?as?e:
????print('info:%s'%(e))

http://img1.sycdn.imooc.com//582175f50001185c07060506.jpg


0 回復 有任何疑惑可以回復我~

大小寫錯了,你定義的是CustomError,raise的是customError吧

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
Python錯誤和異常
  • 參與學習       31651    人
  • 解答問題       32    個

讓我們一起來學習Python對于錯誤和異常的處理方式

進入課程

編寫自定義異常代碼,編譯出錯

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號