在使用python的時(shí)候,經(jīng)常性的會(huì)遇到各種各樣的問(wèn)題,比如出現(xiàn)異常的時(shí)候,怎么才能夠跳過(guò)其異常繼續(xù)執(zhí)行呢?下面就給大家詳細(xì)的解答下。
python如何跳過(guò)異常繼續(xù)執(zhí)行
下面有兩種解決方法
第一種是類似if…else…;另外一種是使用語(yǔ)句來(lái)實(shí)現(xiàn)繼續(xù)執(zhí)行;
方法一:使用try…except…語(yǔ)句,類似于if…else…,可以跳過(guò)異常繼續(xù)執(zhí)行程序,這是Python的優(yōu)勢(shì)
用法如下:
方法二:使用語(yǔ)句來(lái)繼續(xù)執(zhí)行;
拓展資料
異常處理特點(diǎn):
1.在應(yīng)用程序遇到異常情況(如被零除情況或內(nèi)存不足警告)時(shí),就會(huì)產(chǎn)生異常。
2.發(fā)生異常時(shí),控制流立即跳轉(zhuǎn)到關(guān)聯(lián)的異常處理程序(如果存在)。
3.如果給定異常沒(méi)有異常處理程序,則程序?qū)⑼V箞?zhí)行,并顯示一條錯(cuò)誤信息。
4.可能導(dǎo)致異常的操作通過(guò)try關(guān)鍵字來(lái)執(zhí)行。
5.異常處理程序是在異常發(fā)生時(shí)執(zhí)行的代碼塊。在C#中,catch關(guān)鍵字用于定義異常處理程序。
自媒體培訓(xùn)
6.程序可以使用throw關(guān)鍵字顯式地引發(fā)異常。
7.異常對(duì)象包含有關(guān)錯(cuò)誤的詳細(xì)信息,其中包括調(diào)用堆棧的狀態(tài)以及有關(guān)錯(cuò)誤的文本說(shuō)明。
8.即使引發(fā)了異常,finally塊中的代碼也會(huì)執(zhí)行,從而使程序可以釋放資源。
python錯(cuò)誤之NameError
報(bào)錯(cuò):NameError:name'xrange'isnotdefined
錯(cuò)誤圖示如下:
原因
xrange()函數(shù)是python2.x中的函數(shù),python3中將其改為range();
此類NameError原因,大多數(shù)是引用了版本不支持的函數(shù)所造成的。
解決辦法
將xrange改為range即可。
以上就是python2向python3轉(zhuǎn)變的整個(gè)過(guò)程,希望能給各位讀者帶來(lái)一定的幫助
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/127648.html
摘要:在前面介紹語(yǔ)法的過(guò)程中,我們已經(jīng)接觸到了解釋器給的錯(cuò)誤和異常,但并沒(méi)有詳細(xì)講解它們。解釋器這樣報(bào)出的好處是告訴我們哪一行代碼出錯(cuò)了錯(cuò)誤的類型是什么。 在前面介紹Python語(yǔ)法的過(guò)程中,我們已經(jīng)接觸到了解釋器給的錯(cuò)誤和異常,但并沒(méi)有詳細(xì)講解它們。現(xiàn)在我們就全面的來(lái)學(xué)習(xí)Python是對(duì)語(yǔ)法錯(cuò)誤等錯(cuò)誤進(jìn)行定義和處理的,這包括至少有兩種可以區(qū)分的錯(cuò)誤,它們是語(yǔ)法錯(cuò)誤和異常。 語(yǔ)法錯(cuò)誤 Pyt...
摘要:協(xié)程定義協(xié)程是指一個(gè)過(guò)程,這個(gè)過(guò)程與調(diào)用方協(xié)作,產(chǎn)出由調(diào)用方提供的值。當(dāng)?shù)玫娇刂茩?quán)時(shí),會(huì)阻塞,同時(shí)等待終止。終止協(xié)程的方法該方法致使生成器在暫停的表達(dá)式處拋出異常。 協(xié)程 定義:協(xié)程是指一個(gè)過(guò)程,這個(gè)過(guò)程與調(diào)用方協(xié)作,產(chǎn)出由調(diào)用方提供的值。(協(xié)程中必定含有一條yield語(yǔ)句) 協(xié)程與生成器類似,都是定義體內(nèi)包含yield關(guān)鍵字的函數(shù)。不過(guò),在協(xié)程中,yield通常出現(xiàn)在表達(dá)式的右邊(例...
摘要:讀取新的一行作為模塊名,讀取下一行作為對(duì)象名,然后將壓入到堆棧中。讀取字符串進(jìn)行處理之后壓入堆棧。將一個(gè)元組和一個(gè)可調(diào)用對(duì)象彈出堆棧,然后以該元組作為參數(shù)調(diào)用該可調(diào)用的對(duì)象,最后將結(jié)果壓入到堆棧中。調(diào)用結(jié)束反序列化。 python pickle允許類定義__reduce__方法來(lái)聲明如何進(jìn)行序列化。其返回字符串或者tuple,前者可能代表著一個(gè)python的全局變量的名稱,后者則是描...
摘要:讀取新的一行作為模塊名,讀取下一行作為對(duì)象名,然后將壓入到堆棧中。讀取字符串進(jìn)行處理之后壓入堆棧。將一個(gè)元組和一個(gè)可調(diào)用對(duì)象彈出堆棧,然后以該元組作為參數(shù)調(diào)用該可調(diào)用的對(duì)象,最后將結(jié)果壓入到堆棧中。調(diào)用結(jié)束反序列化。 python pickle允許類定義__reduce__方法來(lái)聲明如何進(jìn)行序列化。其返回字符串或者tuple,前者可能代表著一個(gè)python的全局變量的名稱,后者則是描...
摘要:獲取鎖的過(guò)程當(dāng)線程調(diào)用申請(qǐng)獲取鎖資源,如果成功,則進(jìn)入臨界區(qū)。如果隊(duì)列中有其他等待鎖資源的線程需要喚醒,則喚醒隊(duì)列中的第一個(gè)等待節(jié)點(diǎn)先入先出。釋放鎖時(shí),如果隊(duì)列中有等待的線程就進(jìn)行喚醒。 每一個(gè)Java工程師應(yīng)該都或多或少了解過(guò)AQS,我自己也是前前后后,反反復(fù)復(fù)研究了很久,看了忘,忘了再看,每次都有不一樣的體會(huì)。這次趁著寫(xiě)博客,打算重新拿出來(lái)系統(tǒng)的研究下它的源碼,總結(jié)成文章,便于以后...
閱讀 919·2023-01-14 11:38
閱讀 891·2023-01-14 11:04
閱讀 750·2023-01-14 10:48
閱讀 2039·2023-01-14 10:34
閱讀 956·2023-01-14 10:24
閱讀 834·2023-01-14 10:18
閱讀 506·2023-01-14 10:09
閱讀 583·2023-01-14 10:02