亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Python > 正文

Python13學(xué)習(xí)筆記

2019-11-06 06:03:14
字體:
供稿:網(wǎng)友

錯(cuò)誤和異常

 

錯(cuò)誤和異常在程序設(shè)計(jì)中是兩個(gè)不同的概念。這兩個(gè)概念又有著密切聯(lián)系。

錯(cuò)誤是客觀存在的一個(gè)現(xiàn)象。錯(cuò)誤就在那里,不聲不響。

錯(cuò)誤分為語法錯(cuò)誤和邏輯錯(cuò)誤。

語法錯(cuò)誤是靜態(tài)的,編譯/解釋程序會(huì)發(fā)現(xiàn)這些語法錯(cuò)誤,并輔助我們糾正這些語法錯(cuò)誤。

邏輯錯(cuò)誤動(dòng)態(tài)的,是運(yùn)算邏輯不完整不正確,會(huì)導(dǎo)致程序運(yùn)行失敗。

 

異常是一種手段措施,是系統(tǒng)發(fā)現(xiàn)程序運(yùn)行出錯(cuò)后,為避免程序失敗,中斷正常控制流程并采取的措施。這個(gè)措施分為兩個(gè)階段:首先發(fā)布錯(cuò)誤信息(拋出異常),其次處理這個(gè)錯(cuò)誤并采取相應(yīng)的操作。

 

 

在Python語言中所說異常還表示異常對(duì)象,就是將錯(cuò)誤發(fā)生時(shí)的狀態(tài)信息封裝為一個(gè)對(duì)象。我們所謂拋出異常就是生成這個(gè)異常對(duì)象并讓這個(gè)對(duì)象能被訪問。異常對(duì)象一般是由系統(tǒng)拋出,但也可以由程序主動(dòng)拋出。

 

 

try-  except 語句:

try:

    normal code piece    # 系統(tǒng)會(huì)監(jiān)控這段代碼是否有錯(cuò)誤發(fā)生,如果有會(huì)拋出相應(yīng)的異常對(duì)象。

exceptException[, reason]: #程序可以捕獲指定異常對(duì)象并做進(jìn)一步的處理。

    except code piece    # 捕獲異常后的處理代碼。

 

說明:

reason將會(huì)是一個(gè)包含來自導(dǎo)致異常的代碼的診斷信息的類實(shí)例. 異常參數(shù)自身會(huì)組成一個(gè)元組,并存儲(chǔ)為類實(shí)例(異常類的實(shí)例)的屬性. 上邊的第一種用法中, reason 將會(huì)是一個(gè)Exception 類的實(shí)例. 對(duì)于大多內(nèi)建異常, 也就是從 StandardError 派生的異常, 這個(gè)元組只包含一個(gè)指示錯(cuò)誤原因的字符串. 一般說來, 異常的名字已經(jīng)是一個(gè)滿意的線索了, 但這個(gè)錯(cuò)誤字符串會(huì)提供更多的信息. 操作系統(tǒng)或其他環(huán)境類型的錯(cuò)誤, 例如 IOError , 元組中會(huì)把操作系統(tǒng)的錯(cuò)誤編號(hào)放在錯(cuò)誤字符串前. 無論 reason 只包含一個(gè)字符串或是由錯(cuò)誤編號(hào)和字符串組成的元組, 調(diào)用 str(reason) 總會(huì)返回一個(gè)良好可讀的錯(cuò)誤原因. 不要忘記 reason 是一個(gè)類實(shí)例 - 這樣做你其實(shí)是調(diào)用類的特殊方法 __str__() . 我們將在第 13 章探索面向?qū)ο缶幊讨械倪@些特殊方法. 唯一的問題就是某些第三方或是其他外部庫并不遵循這個(gè)標(biāo)準(zhǔn)協(xié)議. 我們推薦你在引發(fā)你自己的異常時(shí)遵循這個(gè)標(biāo)準(zhǔn)(參見核心風(fēng)格筆記).

 

 

 

擴(kuò)展支持:

1.      多個(gè)excption子句依次捕獲不同的異常。

    except ValueError:

    retval = 'could not convert non-number tofloat'

    except TypeError:

    retval = 'object type cannot be convertedto float'

2.      一個(gè)exception子句中捕獲多個(gè)不同的異常。要求異常被放在一個(gè)元組里:

    except (Exception1, Exception2)[, reason]:

3.      捕獲所有異常:

except Exception, e:  或者 except: (裸except子句)

4.      else子句當(dāng)沒有異常發(fā)生時(shí)運(yùn)行。

5.      finally子句無論如何都會(huì)被運(yùn)行。

 

完整的異常處理的語法模板:

try:

    try_suite

 

except Exception1:

    suite_for_Exception1  

except (Exception2,Exception3, Exception4):

    suite_for_Exceptions_2_3_and_4  

except Exception5,Argument5:

    suite_for_Exception5_plus_argument

except (Exception6,Exception7), Argument67:

    suite_for_Exceptions6_and_7_plus_argument  

except:

    suite_for_all_other_exceptions

else:

    no_exceptions_detected_suite

finally:

    always_execute_suite

 

主動(dòng)拋出異常:

raise[SomeException [, args [, traceback]]], 參數(shù)說明如下:

第一個(gè)參數(shù),SomeExcpetion,是觸發(fā)異常的名字.如果有,它必須是一個(gè)字符串,類或?qū)嵗?

第二個(gè)符號(hào)為可選的 args(比如參數(shù),值),來傳給異常.這可以是一個(gè)單獨(dú)的對(duì)象也可以是一個(gè)對(duì)象的元組.當(dāng)異常發(fā)生時(shí),異常的參數(shù)總是作為一個(gè)元組傳入.如果 args 原本就是元組,那么就將其傳給異常去處理;如果 args 是一個(gè)單獨(dú)的對(duì)象,就生成只有一個(gè)元素的元組(就是單元素元組).

最后一項(xiàng)參數(shù),traceback,同樣是可選的(實(shí)際上很少用它),如果有的話,則是當(dāng)異常觸發(fā)時(shí)新生成的一個(gè)用于異常-正常化(exception—normally)的追蹤(traceback)對(duì)象.

斷言拋出異常:

斷言對(duì)一個(gè)條件表達(dá)式進(jìn)行判斷。正常應(yīng)返回真,如果運(yùn)行時(shí)該條件表達(dá)式為假則拋出斷言異常AssertionError. 語法如下:

assert exPRession[,arguments]

AssertionError 異常和其他的異常一樣可以用 try-except語句塊捕捉,但是如果沒有捕捉,它將終止程序運(yùn)行而且提供一個(gè)traceback:

Traceback(innermost last): File "<stdin>", line 1, in ?

AssertionError

對(duì)于斷言觸發(fā)的異常AssertError,可以提供一個(gè)參數(shù),捕獲這個(gè)斷言異常的exception子句中的args可以獲取這個(gè)參數(shù)。

try:

    assert 1 == 0, 'One does not equal zerosilly!'

except AssertionError,args:

    print '%s: %s' % (args.__class__.__name__,args)

 從命令行執(zhí)行上面的代碼會(huì)導(dǎo)致如下的輸出:  

AssertionError: Onedoes not equal zero silly!

 

常見內(nèi)建異常:

異常名稱        描述

BaseException     所有異常的基類                

SystemExit       python 解釋器請(qǐng)求退出

KeyboardInterrupt       用戶中斷執(zhí)行(通常是輸入^C)

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

StopIteration       迭代器沒有更多的值

GeneratorExit      生成器(generator)發(fā)生異常來通知退出 

SystemExit       Python 解釋器請(qǐng)求退出

StandardError           所有的內(nèi)建標(biāo)準(zhǔn)異常的基類

ArithmeticError          所有數(shù)值計(jì)算錯(cuò)誤的基類

FloatingPointError         浮點(diǎn)計(jì)算錯(cuò)誤

OverflowError     數(shù)值運(yùn)算超出最大限制

ZeroDivisionError        除(或取模)零 (所有數(shù)據(jù)類型)

AssertionError           斷言語句失敗

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

EOFError        沒有內(nèi)建輸入,到達(dá) EOF 標(biāo)記

EnvironmentError          操作系統(tǒng)錯(cuò)誤的基類

IOError            輸入/輸出操作失敗

OSError               操作系統(tǒng)錯(cuò)誤

WindowsError            Windows 系統(tǒng)調(diào)用失敗

ImportError       導(dǎo)入模塊/對(duì)象失敗

KeyboardInterrupt         用戶中斷執(zhí)行(通常是輸入^C)

LookupError          無效數(shù)據(jù)查詢的基類

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

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

MemoryError      內(nèi)存溢出錯(cuò)誤(對(duì)于 Python 解釋器不是致命的)

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

UnboundLocalErrorh  訪問未初始化的本地變量

ReferenceErrore      弱引用(Weak reference)試圖訪問已經(jīng)垃圾回收了的對(duì)象

RuntimeError    一般的運(yùn)行時(shí)錯(cuò)誤

NotImplementedError     尚未實(shí)現(xiàn)的方法

SyntaxError        Python 語法錯(cuò)誤

IndentationError     縮進(jìn)錯(cuò)誤

TabError             Tab 和空格混用

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

TypeError    對(duì)類型無效的操作

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

UnicodeError        Unicode 相關(guān)的錯(cuò)誤

UnicodeDecodeError         Unicode 解碼時(shí)的錯(cuò)誤

UnicodeEncodeError       Unicode 編碼時(shí)錯(cuò)誤

UnicodeTranslateError        Unicode 轉(zhuǎn)換時(shí)錯(cuò)誤

Warning j                         警告的基類

DeprecationWarning     關(guān)于被棄用的特征的警告

FutureWarning        關(guān)于構(gòu)造將來語義會(huì)有改變的警告

OverflowWarning       舊的關(guān)于自動(dòng)提升為長整型(long)的警告

PendingDeprecationWarning     關(guān)于特性將會(huì)被廢棄的警告

RuntimeWarning          可疑的運(yùn)行時(shí)行為(runtimebehavior)的警告

SyntaxWarning         可疑的語法的警告

UserWarning            用戶代碼生成的警告

 

自定義異常:

def class <SelfExceptionName>(<BaseExceptionName>):

    pass

自定義一個(gè)繼承了BaseExcetpton的異常類,什么也不做。對(duì)與自定義異常,只能通過raise語句拋出。

異常發(fā)生時(shí),sys.exc_info() 函數(shù)可以獲取當(dāng)前的異常信息。返回一個(gè)三元組(exc_type,exc_value,exc_traceback)


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
日韩大尺度在线观看| 黄色工厂这里只有精品| 97人妻精品一区二区免费| 成 人片 黄 色 大 片| 91九色丨porny丨国产jk| 另类尿喷潮videofree| 五月天国产在线| 清纯唯美亚洲经典中文字幕| 丰满人妻一区二区三区免费| 九九爱免费视频在线观看| 欧美麻豆精品久久久久久| 国产精品二区不卡| 在线宅男视频| 亚洲国产一区二区三区在线播放| √新版天堂资源在线资源| 交换做爰国语对白| 亚洲丶国产丶欧美一区二区三区| 免费看黄色aaaaaa 片| 久久天堂精品| 在线视频观看一区| 91精品久久久久久久久久久久久| 麻豆一区二区三区在线观看| 97在线超碰| 国产精品分类| 在线播放精品一区二区三区| 伊人在我在线看导航| 精品少妇一区二区三区免费观| 亚洲高清在线免费| 91精品国产91久久久久久一区二区| 久久精品噜噜噜成人av农村| 亚洲新中文字幕| 日韩三级影视| 欧美又大又硬又粗bbbbb| 欧美一三区三区四区免费在线看| 亚洲女优在线观看| 97超级在线观看免费高清完整版电视剧| 国自产拍在线网站网址视频| 免费高清完整在线观看| 久热精品在线| 国产69精品久久久久久| 日本国产精品视频| 国产精品1区在线| 日韩欧美国产精品一区二区三区| 欧美男同视频网| 婷婷国产在线综合| 久久久久久久久四区三区| 亚洲欧洲日韩综合| 西西午夜视频| 中老年在线免费视频| 99国内精品久久| 久久精品国产成人av| 五月综合网站| 先锋影音成人资源| 91成人在线观看喷潮教学| 韩国av中国字幕| 日韩一本大道| 男人和女人做事情在线视频网站免费观看| 污视频网站在线免费观看| 国产精品毛片久久久久久久av| 国产三级黄色片| 盗摄精品av一区二区三区| 一级特黄aaa大片在线观看| 亚洲午夜精品一区 二区 三区| 黄色免费观看网站| 久久综合综合久久| 欧美日韩**字幕一区| 国产精品另类一区| 99精品99久久久久久宅男| 四虎成人永久免费视频| 成人午夜激情| 欧美美最猛性xxxxxx| 香艳视频网站| a级片在线观看免费| 亚洲黄色片免费| 久久国产免费看| 国产一区二区三区国产精品| 羞羞视频在线观看| 美女精品在线| 五月天激情国产综合婷婷婷| 国产v综合v| 日本a级片电影一区二区| 成人网在线免费视频| 成人免费黄色网址| 伊人影院综合在线| 亚洲精品日产| 亚洲中文字幕无码一区二区三区| 国产精品久久久久久久久久久久久久| 国产欧美精品一区| 欧洲大片精品免费永久看nba| 欧美成人直播| 色88久久久久高潮综合影院| 999国产精品视频免费| 国产精品激情| 欧美三片在线视频观看| 成人欧美在线观看| 亚洲大肥女ass| 亚洲一区二区高清| 久久福利小视频| 色综合久久久久综合一本到桃花网| 免费视频观看成人| 久久99精品久久久久| 大肉大捧一进一出好爽视频| 四虎精品免费视频| www.国产91| 国产日韩欧美一区二区三区在线观看| 黄色正能量网站| 噜噜噜久久,亚洲精品国产品| 国产免费不卡视频| 日本精品在线观看| 亚洲影视中文字幕| 99精品一区二区三区| 亚洲美女一区二区三区| 91不卡在线观看| 国产亚洲久一区二区| 视频一区二区国产| 不卡视频免费在线观看| 亚洲精品久久嫩草网站秘色| 国产精品美女午夜av| 99久久婷婷国产精品综合| 四虎永久免费| 日韩在线观看不卡| 日韩成人av一区二区| 一区二区三区四区电影| 国产91精品在线播放| 最新中文字幕第一页| 在线观看二区| 无码国产精品高潮久久99| 日韩欧美国产免费播放| 日韩欧美中文视频| 捆绑紧缚一区二区三区视频| 成年女人免费毛片视频永久| 污污视频在线免费观看| 成人一区二区三区四区| 美女视频网站在线观看| 欧美亚洲另类在线| 久久精品99国产精品酒店日本| 91看片官网| 国产精品x8x8一区二区| 天堂中文在线资| 精品少妇一区二区三区视频免付费| 中日精品一色哟哟| 久久久久久久久久久国产精品| 亚洲少妇视频| 国产精品欧美日韩一区二区| 神马影院一区二区三区| 一本大道久久a久久综合| 日韩免费观看网站| 国产传媒在线观看| 国产一区二区在线观看视频| 九九热视频免费在线观看| 国产亚洲精品成人av久久ww| 一级片在线视频| 91精品久久久久久久蜜月| 香港三日本8a三级少妇三级99| 尤物在线观看| 91亚洲精品| 日韩av一二三四| 欧美天堂社区| 成人黄色片在线| 福利视频1000| 亚洲网站视频| 国内精品久久久久久野外| 国产精品看片你懂得| 欧美成人中文字幕在线| 日韩1区2区日韩1区2区| 日韩欧美视频在线免费观看| 免费中国女人69xxxxx视频| 麻豆精品在线看| 国产精品视频免费| 精品久久久久久久久久久久久久久久久| 免费看成人a| 亚洲网站视频| 草莓视频一区| 中文字幕av亚洲精品一部二部| 久久永久免费| 日韩高清在线观看| 国产成人无遮挡在线视频| 91视频最新网址| 日韩精品中文字幕吗一区二区| youjizz.com日本| 国产 高清 精品 在线 a| 欧美日韩国产精品一区| 国产精品一区二区三区免费视频| av在线网页| 国产日韩精品一区二区浪潮av| 精品少妇theporn| 日韩福利电影在线观看| jizz在亚洲| 欧美体内she精视频在线观看| 日本午夜视频在线观看| 69堂亚洲精品首页| 亚洲国产专区| 欧美成人免费视频| 日本一区二区三区在线观看| 成人51免费| 亚洲sss视频在线视频| 劲爆欧美第一页| 秋霞av国产精品一区| 国产jizz18女人高潮| 欧美成人做性视频在线播放| 成人黄色在线观看视频| 欧美乱偷一区二区三区在线| 亚洲伦理在线观看| 天天综合网久久| 91精品国产自产91精品| 欧美裸体在线版观看完整版| 特黄特黄一级片| ●精品国产综合乱码久久久久| 成人短视频软件网站大全app| 日韩欧美在线看| 日韩电影一区二区三区四区| 日欧美一区二区| 丁香花高清电影在线观看完整版| 日本欧美视频在线观看| 欧美日高清视频| 丝袜诱惑亚洲看片| 麻豆九一精品爱看视频在线观看免费| 99久久免费观看| 2023国产精品久久久精品双| 精品成人免费自拍视频| 天天草夜夜骑| 国产福利一区视频| 色呦呦在线观看视频| 毛片免费视频| 最新国产黄色网址| 欧美日韩国产一区二区| 国产一二三视频| 国产精品嫩草久久久久| 91热视频在线观看| 欧美hentaied在线观看| 好色视频app| 精品久久国产字幕高潮| 91极品女神私人尤物在线播放| 高清成人在线观看| 殴美一级特黄aaaaaa| 亚洲午夜无码av毛片久久| 韩国成人av| 色吊丝中文字幕| 国产福利资源一区| 黄色一级免费视频| 中文字幕在线观看网站| 天天操天天舔天天射| 欧美视频1区| 成久久久网站| 欧美三级理伦电影| 欧美日韩国产一二三| 小说区亚洲自拍另类图片专区| 国产综合久久久久久| 国产精品综合久久久久| 超碰在线免费av| 欧美一区二区三区红桃小说| 国产精品秘入口18禁麻豆免会员| 一级毛片在线观| 亚洲精品一区二区三区影院| 999精品视频在线观看播放| 欧美精选在线| 一区二区三区视频在线播放| 美女桃色网站| 视色,视色影院,视色影库,视色网| 99re视频在线观看| 成人免费看黄网站| 日韩中文字幕观看| 中文字幕一区二区三区蜜月| 国产ts在线观看| 亚洲最新中文字幕| 任你弄精品视频免费观看| 粉嫩精品久久99综合一区| 午夜性爽视频男人的天堂| 在线观看亚洲天堂| 免费av一级片| 高潮精品一区videoshd| 国产精品一区二区三区在线免费观看| 日韩中文在线视频| 最新理论片影院| aaaaaa亚洲| av午夜一区麻豆| 日韩av电影中文字幕| 四虎永久免费在线| 精品国产第一国产综合精品| 日本最新高清不卡中文字幕| 青春草在线观看视频| 亚洲第一久久影院| 成人性生交大片免费看中文| 秋霞在线一区二区| 亚洲欧洲av色图| 国产精品一区二区三区在线播放| 久久久精品2019中文字幕之3| 欧美电影免费观看高清| gogo高清午夜人体在线| 天天操夜夜操免费视频| 一区国产精品视频| 国产免费1000拍拍拍| 日韩av中文字幕在线播放| 成人影院久久久久久影院| 99这里都是精品| 一区二区91美女张开腿让人桶| wwwww在线观看免费视频| 少妇高潮一区二区三区69| 欧美日韩在线播放一区| 国产精品毛片a∨一区二区三区| 国产视频aaa| 国产欧美精品久久| 中文字幕一区二区三区日韩精品| 激情视频在线观看一区二区三区| 天天操天天怕| 国产尤物av一区二区三区| 黄网站视频在线观看| 欧美影视一区在线| 国产高清在线观看| 日本精品久久久久中文字幕| 国产精品一区二区三区久久久| 在线视频欧美性高潮| se视频在线观看| 麻豆国产精品va在线观看不卡| 在线精品播放av| 亚洲AV无码成人精品一区| 欧美日韩人妻精品一区二区三区| 欧美国产日韩a欧美在线观看| 欧美日韩综合高清一区二区| 亚洲视频 欧洲视频| 国产精品无码久久久久久| 久久超级碰碰| 国产一级久久久久毛片精品| 国产伦精品一区二区三区视频女| 精品亚洲乱码一区二区| 少妇人妻互换不带套| 国产精品极品美女在线观看| www.欧美精品一二区|