欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

Python異常學習筆記

系統 1615 0

異常(exceptions)是Python中一種非常重要的類型,它和語法錯誤不同,是在程序運行期間引發的錯誤。Python中內置了很多異常,如IOError,NameError,KeyboardInterrupt等,更多的異常可以點擊這里。

異常的意義在于提供一種更加優雅的運行方式,例如用Python編寫一個計算器,如果用戶輸入不能計算的對象,則可以拋出異常,并進行處理, 如下:

            
while True:
  try:
    x= int(input('Please In enter A number:'))
    print "Your Input is %s"%x
    break
  except Exception,e:
    print e


          

Python是一門面向對象的語言,異常本身也是對象, 用dir(Exception)查看Exception類的屬性,如下:[‘__class__', ‘__delattr__', ‘__dict__', ‘__doc__', ‘__format__', ‘__getattribute__', ‘__getitem__', ‘__getslice__', ‘__hash__', ‘__init__', ‘__new__', ‘__reduce__', ‘__reduce_ex__', ‘__repr__', ‘__setattr__', ‘__setstate__', ‘__sizeof__','__str__', ‘__subclasshook__', ‘__unicode__', ‘args', ‘message'], 除開args和message外,其余的均為其內部屬性, 其中args是傳遞給異常類的構造函數的一個類型為元祖的參數, 一些內置函數,如IOError需要它接收多個參數,其它的則直接是直接傳遞一個錯誤提示字符串。

Python的異常可以通過try語句來檢查,任何在try語句塊里的代碼都會被監測,檢查有無異常產生,except會根據輸入檢查異常的類型,并執行except內的代碼。那么,這里就不禁要問問,except后面的兩個參數到底是什么?如果第一個是錯誤的類型,那么第二參數呢?對其進行檢測,發現它是屬于Exception的實例,也就是說,它是由異常類產生的一個具體的異常對象。
那么,用戶如果自定義一個異常呢?Python中規定,所有異常必須直接或者間接的繼承自Exception類,如下,自定義的異常:

            
#!/usr/bin/env python
class MyError(Exception):
  def __init__(self,*args):
    self.value=args[0]
  def __str__(self):
    return repr(self.value)
def showname(*args):
  if args:
    print args
  else:
    raise MyError('Error: need 1 arguments at last, 0 Input')


          

把這個文件保存為showname.py,其它模塊就可以引入調用showname函數,并對它執行的結果進行檢測:

            
#!/usr/bin/env python
import showname
try:
  showname.showname()
except showname.MyError,e:
  print e


          

值得注意的幾點是:1, python中用raise拋出異常; 2, 由于所有異常都是繼承自Exception,所以,當不確定異常類型的時候,可以在except后面直接接Exception來捕獲所有異常;3,由于異常的繼承關系,異常內的所有屬性都是可以被重定義的,也可以在自定義的異常上增加屬性。


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 日韩理论在线 | 日日摸夜夜添夜夜添亚洲女人 | 日本高清va不卡视频在线观看 | 夜夜夜爽 | 美女扣下面流白浆丝袜 | 99久久婷婷 | 日日夜夜天天久久 | 波多野结衣一区二区三区88 | 香蕉在线影院 | 日韩一区二区三区视频 | 青娱乐手机免费视频 | 无码免费一区二区三区免费播放 | 一级做性色a爰片久久毛片 亚洲午夜精品久久久久久app | 国内精品伊人久久久久7777人 | 久久黄网| 免费无遮挡www小视频 | 成人在线不卡视频 | 亚洲偷 | se999se男人最爱| 欧美一区二区三区免费观看视频 | 91在线 | 欧美 | 日韩高清不卡 | 亚洲视频2020| 亚洲第一激情 | 91精品久久久久久久久久 | 亚洲偷图色综合色就色 | 国产精品v欧美精品∨日韩 一级免费黄色免费片 | 久久亚洲精品玖玖玖玖 | h视频在线免费 | 日本一级高清不卡视频在线 | a毛片成人免费全部播放 | 涩涩操| 清草在线视频精品 | 91精品视频在线播放 | 日韩欧美亚洲视频 | 欧美系列第一页 | 欧美成人a∨高清免费观看 久久亚洲欧美日韩精品专区 | 日韩在线视频一区 | 国产精品岛国久久久久久久 | 久久成人一区 | 日韩精品亚洲专区在线电影不卡 |