麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > Python > 正文

Python異常學習筆記

2020-02-23 06:22:05
字體:
來源:轉載
供稿:網友

異常(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 pythonclass 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 pythonimport shownametry:  showname.showname()except showname.MyError,e:  print e

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 欧美黄色试片 | 亚洲成人中文字幕在线 | 高清国产在线 | 日韩在线欧美在线 | 国产欧美亚洲精品a | 欧美中文字幕一区二区三区亚洲 | 污版视频在线观看 | 免费黄色小视频网站 | 亚洲影院在线播放 | 日本高清在线播放 | 毛片免费视频播放 | 亚洲片在线观看 | 性欧美在线视频 | 久久欧美亚洲另类专区91大神 | 中文字幕在线观看日韩 | 中文字幕伦乱 | 久久国产免费 | 蜜桃视频在线免费播放 | 免费毛片随便看 | 久草在线高清 | 182tv成人福利视频免费看 | 中文字幕免费在线看 | 成人毛片100免费观看 | 久久免费视频3 | www.99re1.com| 国产精品高潮99久久久久久久 | 99亚洲| 欧美精品成人一区二区三区四区 | 黄色网页在线观看 | 亚洲国产成人一区 | 91社影院在线观看 | 久久精品一二三区白丝高潮 | 黄视频网站免费 | 天天草夜夜骑 | 海外中文字幕在线观看 | 久久久精品视频在线观看 | 91九色论坛 | 色妹子久久 | 免费网站看v片在线a | 久久久久.com | 日本在线播放一区二区 |