亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? 8.html

?? 一個python入門書
?? HTML
字號:
<HTML><!-- Mirrored from www.math.pku.edu.cn/teachers/lidf/docs/Python/8.html by HTTrack Website Copier/3.x [XR&CO'2005], Fri, 08 Jul 2005 11:49:14 GMT --><HEAD><TITLE>第八章 錯誤與例外</TITLE></HEAD><BODY><H1>第八章 錯誤與例外</H1><P>到現(xiàn)在為止我們只是提到了錯誤信息而沒有詳細(xì)討論,如果你運(yùn)行了前面的例子可能已經(jīng)看到了一些錯誤信息。至少有兩種不同錯誤:句法錯和例外錯(exceptions)。</P><H2>8.1 句法錯</H2><P> 句法錯也稱為語法分析錯,是你在學(xué)習(xí)Python的時候最可能犯的錯誤。<PRE>&gt;&gt;&gt; while 1 print 'Hello world'  File "&lt;stdin&gt;", line 1    while 1 print 'Hello world'                ^SyntaxError: invalid syntax</PRE><P>語法分析器重復(fù)出錯行,并用一個小‘箭頭’指向行內(nèi)最早發(fā)現(xiàn)錯誤的位置。錯誤是由箭頭前面的記號引起的(至少是在這里檢測到的)。在本例中,錯誤在關(guān)鍵字print處檢測到,因?yàn)樗懊鎽?yīng)該有一個冒號(“:”)。錯誤信息中顯示了文件名和行號這樣如果錯誤發(fā)生在一個腳本文件中你就知道到哪里去找。</P><H2>8.2 例外</H2><P>即使語句或表達(dá)式句法沒有問題,在試圖運(yùn)行的時候也可能發(fā)生錯誤。運(yùn)行時檢測到的錯誤叫做例外,這種錯誤不一定必然是致命的:你很快就會學(xué)到如何在Python程序中處理例外。然而,多數(shù)例外不能被程序處理,這是會產(chǎn)生錯誤信息,如:</P><PRE>&gt;&gt;&gt; 10 * (1/0)Traceback (innermost last):  File "&lt;stdin&gt;", line 1ZeroDivisionError: integer division or modulo&gt;&gt;&gt; 4 + spam*3Traceback (innermost last):  File "&lt;stdin&gt;", line 1NameError: spam&gt;&gt;&gt; '2' + 2Traceback (innermost last):  File "&lt;stdin&gt;", line 1TypeError: illegal argument type for built-in operation</PRE><P>錯誤信息的最后一行顯示發(fā)生的情況。例外有不同的類型,類型作為錯誤信息的一部分顯示:上例中錯誤的類型有ZeroDivisionError、NameError和TypeError。作為例外類型顯示的字符串是發(fā)生的例外的內(nèi)置名。這對于所有內(nèi)置例外成立,但對用戶自定義例外不一定成立(用戶最好能遵守這樣的約定)。標(biāo)準(zhǔn)例外名是內(nèi)置的標(biāo)識符(不是保留關(guān)鍵字)。</P><P>此行的其余部分是錯誤的細(xì)節(jié),其解釋依賴于例外類型。錯誤信息前面的部分以堆棧反跟蹤的形式顯示了發(fā)生錯誤的上下文環(huán)境。一般這包含了列出源代碼行的一個列出源程序行的堆棧反跟蹤;然而,它不會顯示從標(biāo)準(zhǔn)輸入讀進(jìn)的行。</P><P> 庫參考手冊列出了內(nèi)置例外和其含義。 <H2>8.3 例外處理</H2><P> 可以編程序來處理選定的例外。請看下面的例子,顯示一些浮點(diǎn)數(shù)的倒數(shù):<PRE>&gt;&gt;&gt; numbers = [0.3333, 2.5, 0, 10]&gt;&gt;&gt; for x in numbers:...     print x,...     try:...         print 1.0 / x...     except ZeroDivisionError:...         print '*** has no inverse ***'...     0.3333 3.000300032.5 0.40 *** has no inverse ***10 0.1</PRE><P>try語句是這樣工作的:</P><UL><LI>首先,運(yùn)行try子句(在try和except之間的語句)。</LI><LI>如果沒有發(fā)生例外,跳過except子句,try語句運(yùn)行完畢。</LI><LI>如果在try子句中發(fā)生了例外錯誤而且例外錯誤匹配except后指定的例外名,則跳過try子句剩下的部分,執(zhí)行except子句,然后繼續(xù)執(zhí)行try語句后面的程序。</LI><LI>如果在try子句中發(fā)生了例外錯誤但是例外錯誤不匹配except后指定的例外名,則此例外被傳給外層的try語句。如果沒有找到匹配的處理程序則此例外稱作是未處理例外,程序停止運(yùn)行,顯示錯誤信息。</LI></UL><P>try語句可以有多個except子句,為不同的例外指定不同處理。至多只執(zhí)行一個錯誤處理程序。錯誤處理程序只處理相應(yīng)的try子句中發(fā)生的例外,如果同try語句中其它的錯誤處理程序中發(fā)生例外錯誤處理程序不會反應(yīng)。一個except子句可以列出多個例外,寫在括號里用逗號分開,例如:</P><PRE>... except (RuntimeError, TypeError, NameError):...     pass</PRE><P>最后一個except子句可以省略例外名,作為一個通配項(xiàng)。這種方法要謹(jǐn)慎使用,因?yàn)檫@可能會導(dǎo)致程序?qū)嶋H已出錯卻發(fā)現(xiàn)不了。</P><P>try ... except語句有一個可選的else子句,如有的話要放在所有except子句之后。else的意思是沒有發(fā)生例外,我們可以把try子句中沒有發(fā)生例外時要做的事情放在這個子句里。例如:</P><PRE>for arg in sys.argv[1:]:    try:        f = open(arg, 'r')    except IOError:        print '不能打開', arg    else:        print arg, '有', len(f.readlines()), '行'        f.close()</PRE><P>例外發(fā)生時可能伴有一個值,叫做例外的參數(shù)。參數(shù)是否存在及其類型依賴于例外的類型。對于有參數(shù)的例外,except在自居可以在例外名(或表)后指定一個變量用來接受例外的參數(shù)值,如:</P><PRE>&gt;&gt;&gt; try:...     spam()... except NameError, x:...     print 'name', x, 'undefined'... name spam undefined</PRE><P>有參數(shù)的例外未處理時會在錯誤信息的最后細(xì)節(jié)部分列出其參數(shù)值。 <P>例外處理程序不僅處理直接產(chǎn)生于try子句中的例外,也可以處理try子句中調(diào)用的函數(shù)(甚至是間接調(diào)用的函數(shù))中的例外。如:</P><PRE>&gt;&gt;&gt; def this_fails():...     x = 1/0... &gt;&gt;&gt; try:...     this_fails()... except ZeroDivisionError, detail:...     print 'Handling run-time error:', detail... Handling run-time error: integer division or modulo</PRE><H2>8.4 產(chǎn)生例外</H2><P>raise語句允許程序員強(qiáng)行產(chǎn)生指定的例外。例如:<PRE>&gt;&gt;&gt; raise NameError, 'HiThere'Traceback (innermost last):  File "&lt;stdin&gt;", line 1NameError: HiThere</PRE><P>raise語句的第一個參數(shù)指定要產(chǎn)生的例外的名字。可選的第二參數(shù)指定例外的參數(shù)。 <H2>8.5 用戶自定義例外</H2><P>程序中可以定義自己的例外,只要把一個字符串賦給一個變量即可。例如:<PRE>&gt;&gt;&gt; my_exc = 'my_exc'&gt;&gt;&gt; try:...     raise my_exc, 2*2... except my_exc, val:...     print 'My exception occurred, value:', val... My exception occurred, value: 4&gt;&gt;&gt; raise my_exc, 1Traceback (innermost last):  File "&lt;stdin&gt;", line 1my_exc: 1</PRE><P>許多標(biāo)準(zhǔn)模塊用這種方法報告自己定義的函數(shù)中發(fā)生的錯誤。 <H2>8.6 定義清理動作</H2><P> try語句還有另一個finally可選子句,可以用來規(guī)定不論出錯與否都要執(zhí)行的動作。例如:</P><PRE>&gt;&gt;&gt; try:...     raise KeyboardInterrupt... finally:...     print 'Goodbye, world!'... Goodbye, world!Traceback (innermost last):  File "&lt;stdin&gt;", line 2KeyboardInterrupt</PRE><P>finally子句不論try子句中是否發(fā)生例外都會執(zhí)行。例外發(fā)生時,先執(zhí)行finally子句然后重新提出該例外。當(dāng)try語句用break或return語句退出時也將執(zhí)行finally子句。</P><P>要注意的是,try語句有了except子句就不能有finally子句,有了finally子句就不能有except子句,不能同時使用except子句和finally子句。需要的話可以嵌套。</P></BODY><!-- Mirrored from www.math.pku.edu.cn/teachers/lidf/docs/Python/8.html by HTTrack Website Copier/3.x [XR&CO'2005], Fri, 08 Jul 2005 11:49:14 GMT --></HTML>

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲欧洲性图库| 精品一区二区在线播放| 美腿丝袜一区二区三区| eeuss影院一区二区三区| 欧美一区二区日韩| 亚洲另类春色校园小说| 国产乱色国产精品免费视频| 欧美日韩一区二区三区在线| 国产精品狼人久久影院观看方式| 麻豆精品视频在线观看| 欧美日韩在线三区| 亚洲三级久久久| 国产ts人妖一区二区| 91精品国产色综合久久不卡蜜臀| 亚洲免费av观看| 成人18视频在线播放| 久久精品亚洲精品国产欧美| 美腿丝袜一区二区三区| 欧美精品高清视频| 亚洲国产日产av| 日本精品一级二级| 中文字幕二三区不卡| 国内精品久久久久影院一蜜桃| 在线综合+亚洲+欧美中文字幕| 亚洲欧洲成人精品av97| 成人性生交大合| 久久精品视频一区二区| 极品美女销魂一区二区三区免费| 在线成人小视频| 免费成人你懂的| 欧美一区二区视频在线观看| 天天综合色天天| 欧美女孩性生活视频| 亚洲va国产天堂va久久en| 欧美精品自拍偷拍| 日韩中文字幕区一区有砖一区| 欧美日韩电影在线| 日本亚洲天堂网| 精品嫩草影院久久| 国产高清不卡一区| 国产女人18水真多18精品一级做| 成人免费福利片| 亚洲黄色片在线观看| 欧美体内she精视频| 亚洲成人av资源| 亚洲国产成人在线| 成人高清免费观看| 成人欧美一区二区三区黑人麻豆 | 亚洲在线中文字幕| 欧美性欧美巨大黑白大战| 五月天精品一区二区三区| 51精品久久久久久久蜜臀| 美女视频黄频大全不卡视频在线播放| 日韩欧美aaaaaa| 成人免费三级在线| 亚洲精品高清视频在线观看| 欧美猛男超大videosgay| 免费在线观看一区二区三区| 久久久久成人黄色影片| 99国产精品国产精品久久| 亚洲国产精品久久久久婷婷884| 欧美一区二区人人喊爽| 成人午夜精品在线| 亚洲不卡一区二区三区| 久久久亚洲高清| 欧美性极品少妇| 国产乱人伦偷精品视频免下载| 亚洲码国产岛国毛片在线| 欧美日韩成人在线一区| 国产精品一区二区久激情瑜伽| 亚洲男人天堂一区| 精品成人一区二区| 精品污污网站免费看| 国产精品一区二区视频| 亚洲国产成人av| 欧美激情一区二区三区四区 | 欧美一区二区视频在线观看2020 | 久久99精品久久久久久| 国产精品青草久久| 欧美一区二区三区在| 91丝袜国产在线播放| 美女免费视频一区二区| 亚洲影院久久精品| 午夜视频在线观看一区| 国产日韩欧美激情| 777奇米成人网| 99久久伊人网影院| 国产麻豆一精品一av一免费| 亚洲第一在线综合网站| 国产精品久久久久久久久图文区 | 99久久er热在这里只有精品66| 日韩国产欧美在线观看| 亚洲欧美日韩在线播放| 国产亚洲成年网址在线观看| 欧美一区二区三区免费大片| 色综合久久久久综合体| 懂色av中文字幕一区二区三区 | 欧美一区二区三区四区在线观看 | 自拍av一区二区三区| 国产网红主播福利一区二区| 日韩欧美在线123| 欧美日韩免费电影| 欧美亚洲国产一区在线观看网站| 99久久国产免费看| 99久久婷婷国产| 99久久99久久精品国产片果冻| 国产大陆a不卡| 国产真实精品久久二三区| 久久精品国产亚洲a| 日本不卡的三区四区五区| 亚洲国产日产av| 亚洲高清中文字幕| 午夜精品久久久久久久99水蜜桃 | 欧美日韩极品在线观看一区| 色视频欧美一区二区三区| 91麻豆123| 91视频.com| 欧美伊人久久久久久午夜久久久久| 不卡在线视频中文字幕| 成人av网址在线观看| 99精品国产99久久久久久白柏| 99视频一区二区| 色狠狠av一区二区三区| 色噜噜狠狠色综合欧洲selulu| 91啦中文在线观看| 欧美午夜电影网| 欧美精品在线视频| 日韩欧美在线影院| 久久久91精品国产一区二区精品| 国产三级精品视频| 一区二区在线观看免费| 亚洲成a人v欧美综合天堂| 免费观看在线综合| 国产夫妻精品视频| 91免费观看国产| 欧美日韩成人综合在线一区二区| 日韩一级大片在线观看| 久久蜜桃一区二区| 亚洲免费观看高清完整版在线观看熊| 亚洲成av人片一区二区三区 | 精品奇米国产一区二区三区| wwwwxxxxx欧美| 亚洲青青青在线视频| 日韩高清欧美激情| 粉嫩高潮美女一区二区三区| 在线精品视频小说1| 日韩一区二区三区在线视频| 国产网站一区二区| 亚洲成a人v欧美综合天堂下载| 一本久久a久久免费精品不卡| 91精品国产综合久久香蕉的特点| 亚洲精品一区二区三区蜜桃下载| 国产精品午夜久久| 天天色天天操综合| 不卡av电影在线播放| 69堂精品视频| 中文字幕亚洲一区二区va在线| 日本午夜一本久久久综合| k8久久久一区二区三区 | 久久精品国产澳门| 91首页免费视频| 26uuu另类欧美亚洲曰本| 亚洲欧美另类久久久精品| 另类小说色综合网站| 91在线精品秘密一区二区| 日韩精品自拍偷拍| 亚洲精品伦理在线| 国产成人自拍网| 欧美一区二区视频在线观看2020| 中文字幕一区二区三区四区| 喷水一区二区三区| 欧美在线一区二区三区| 日本一区二区三区久久久久久久久不| 亚洲v中文字幕| 日本电影亚洲天堂一区| 国产欧美日韩一区二区三区在线观看| 日韩高清在线不卡| 欧美性受极品xxxx喷水| 国产精品免费人成网站| 国产在线不卡一区| 欧美精品一二三| 亚洲在线成人精品| 色综合激情久久| 国产精品久久久久一区二区三区共 | 色婷婷激情综合| 国产精品久久久久影院亚瑟 | 欧美最猛性xxxxx直播| 久久久精品国产免大香伊| 日韩成人伦理电影在线观看| 色偷偷久久人人79超碰人人澡 | 久久久美女毛片| 精品在线免费观看| 日韩一区二区不卡| 麻豆精品视频在线观看免费| 911精品国产一区二区在线| 亚洲成人在线网站| 欧美日韩国产综合一区二区三区| 亚洲伊人伊色伊影伊综合网| 色狠狠色噜噜噜综合网| 亚洲一区二区三区爽爽爽爽爽|