91在线一级黄片|91视频在线观看18|成人夜间呦呦网站|91资源欧美日韩超碰|久久最新免费精品视频一区二区三区|国产探花视频在线观看|黄片真人免费三级片毛片|国产人无码视频在线|精品成人影视无码三区|久久视频爱久久免费精品

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
創(chuàng)新互聯(lián)Python教程:Python異常處理知識(shí)點(diǎn)匯總,五分鐘就能學(xué)會(huì)

什么是異常?

創(chuàng)新互聯(lián)主營(yíng)安鄉(xiāng)網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營(yíng)網(wǎng)站建設(shè)方案,成都app軟件開發(fā),安鄉(xiāng)h5小程序開發(fā)搭建,安鄉(xiāng)網(wǎng)站營(yíng)銷推廣歡迎安鄉(xiāng)等地區(qū)企業(yè)咨詢

1.錯(cuò)誤

從軟件方面來(lái)說(shuō),錯(cuò)誤是語(yǔ)法或是邏輯上的。錯(cuò)誤是語(yǔ)法或是邏輯上的。

語(yǔ)法錯(cuò)誤指示軟件的結(jié)構(gòu)上有錯(cuò)誤,導(dǎo)致不能被解釋器解釋或編譯器無(wú)法編譯。這些些錯(cuò)誤必須在程序執(zhí)行前糾正。

當(dāng)程序的語(yǔ)法正確后,剩下的就是邏輯錯(cuò)誤了。邏輯錯(cuò)誤可能是由于不完整或是不合法的輸入所致;

在其它情況下,還可能是邏輯無(wú)法生成、計(jì)算、或是輸出結(jié)果需要的過(guò)程無(wú)法執(zhí)行。這些錯(cuò)誤通常分別被稱為域錯(cuò)誤和范圍錯(cuò)誤。

當(dāng)python檢測(cè)到一個(gè)錯(cuò)誤時(shí),python解釋器就會(huì)指出當(dāng)前流已經(jīng)無(wú)法繼續(xù)執(zhí)行下去。這時(shí)候就出現(xiàn)了異常。

2.異常

對(duì)異常的最好描述是:它是因?yàn)槌绦虺霈F(xiàn)了錯(cuò)誤而在正??刂屏饕酝獠扇〉男袨椤?/p>

這個(gè)行為又分為兩個(gè)階段:首先是引起異常發(fā)生的錯(cuò)誤,然后是檢測(cè)(和采取可能的措施)階段。

第一階段是在發(fā)生了一個(gè)異常條件(有時(shí)候也叫做例外的條件)后發(fā)生的。

只要檢測(cè)到錯(cuò)誤并且意識(shí)到異常條件,解釋器就會(huì)發(fā)生一個(gè)異常。引發(fā)也可以叫做觸發(fā),拋出或者生成。解釋器通過(guò)它通知當(dāng)前控制流有錯(cuò)誤發(fā)生。

python也允許程序員自己引發(fā)異常。無(wú)論是python解釋器還是程序員引發(fā)的,異常就是錯(cuò)誤發(fā)生的信號(hào)。

當(dāng)前流將被打斷,用來(lái)處理這個(gè)錯(cuò)誤并采取相應(yīng)的操作。這就是第二階段。

對(duì)于異常的處理發(fā)生在第二階段,異常引發(fā)后,可以調(diào)用很多不同的操作。

可以是忽略錯(cuò)誤(記錄錯(cuò)誤但不采取任何措施,采取補(bǔ)救措施后終止程序。)或是減輕問(wèn)題的影響后設(shè)法繼續(xù)執(zhí)行程序。

所有的這些操作都代表一種繼續(xù),或是控制的分支。關(guān)鍵是程序員在錯(cuò)誤發(fā)生時(shí)可以指示程序如何執(zhí)行。

python用異常對(duì)象(exception object)來(lái)表示異常。遇到錯(cuò)誤后,會(huì)引發(fā)異常。

如果異常對(duì)象并未被處理或捕捉,程序就會(huì)用所謂的回溯(traceback)終止執(zhí)行

異常處理

捕捉異??梢允褂胻ry/except語(yǔ)句。

try/except語(yǔ)句用來(lái)檢測(cè)try語(yǔ)句塊中的錯(cuò)誤,從而讓except語(yǔ)句捕獲異常信息并處理。

如果你不想在異常發(fā)生時(shí)結(jié)束你的程序,只需在try里捕獲它。

語(yǔ)法:

以下為簡(jiǎn)單的try....except...else的語(yǔ)法:

Try的工作原理是,當(dāng)開始一個(gè)try語(yǔ)句后,python就在當(dāng)前程序的上下文中作標(biāo)記,這樣當(dāng)異常出現(xiàn)時(shí)就可以回到這里,try子句先執(zhí)行,接下來(lái)會(huì)發(fā)生什么依賴于執(zhí)行時(shí)是否出現(xiàn)異常。

如果當(dāng)try后的語(yǔ)句執(zhí)行時(shí)發(fā)生異常,python就跳回到try并執(zhí)行第一個(gè)匹配該異常的except子句,異常處理完畢,控制流就通過(guò)整個(gè)try語(yǔ)句(除非在處理異常時(shí)又引發(fā)新的異常)。

如果在try后的語(yǔ)句里發(fā)生了異常,卻沒(méi)有匹配的except子句,異常將被遞交到上層的try,或者到程序的最上層(這樣將結(jié)束程序,并打印缺省的出錯(cuò)信息)。

如果在try子句執(zhí)行時(shí)沒(méi)有發(fā)生異常,python將執(zhí)行else語(yǔ)句后的語(yǔ)句(如果有else的話),然后控制流通過(guò)整個(gè)try語(yǔ)句。

使用except而不帶任何異常類型

可以不帶任何異常類型使用except,如下實(shí)例:

以上方式try-except語(yǔ)句捕獲所有發(fā)生的異常。但這不是一個(gè)很好的方式,我們不能通過(guò)該程序識(shí)別出具體的異常信息。因?yàn)樗东@所有的異常。


本文名稱:創(chuàng)新互聯(lián)Python教程:Python異常處理知識(shí)點(diǎn)匯總,五分鐘就能學(xué)會(huì)
網(wǎng)站路徑:http://m.jiaoqi3.com/article/coshghg.html