創(chuàng)新互聯(lián)www.cdcxhl.cn八線動態(tài)BGP香港云服務(wù)器提供商,新人活動買多久送多久,劃算不套路!
創(chuàng)新互聯(lián)是專業(yè)的武陵網(wǎng)站建設(shè)公司,武陵接單;提供網(wǎng)站制作、網(wǎng)站設(shè)計,網(wǎng)頁設(shè)計,網(wǎng)站設(shè)計,建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進行武陵網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團隊,希望更多企業(yè)前來合作!這篇文章將為大家詳細講解有關(guān)python try except語句為什么會出現(xiàn)異常,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關(guān)知識有一定的了解。
try/except與其他語言相同,在python中,try/except語句主要是用于throw程序正常執(zhí)行過程中出現(xiàn)的異常,如語法錯(python作為
腳本語言沒有編譯的環(huán)節(jié),在執(zhí)行過程中對語法進行檢測,出錯后發(fā)出異常消息)、數(shù)據(jù)除零錯誤、從未定義的變量上取值等;而
try/finally語句則
主要用于在無論是否發(fā)生異常情況,都需要執(zhí)行一些清理工作的場合,如在通信過程中,無論通信是否發(fā)生錯誤,都需要在通信完成或者發(fā)生錯
誤時關(guān)閉網(wǎng)絡(luò)連接。盡管try/except和try/finally的作用不同,但是在編程實踐中通??梢园阉鼈兘M合在一起使用
try/except/else/finally的形式來實現(xiàn)穩(wěn)定性和靈活性更好的設(shè)計。
默認情況下,在程序段的執(zhí)行過程中,如果沒有提供try/except的處理,腳本文件執(zhí)行過程中所產(chǎn)生的異常消息會自動發(fā)送給程序調(diào)用端,
如python shell,而python shell對異常消息的默認處理則是終止程序的執(zhí)行并打印具體的出錯信息。這也是在python shell中執(zhí)行程序
錯誤后所出現(xiàn)的出錯打印信息的由來。(學習python,盡在python學習網(wǎng)?。?/p>
try/except格式
python中try/except/else/finally語句的完整格式如下所示
try: Normal execution block except A: Exception A handle except B: Exception B handle except: Other exception handle else: if no exception,get here finally: print("finally") 說明:
正常執(zhí)行的程序在try下面的Normal execution block執(zhí)行塊中執(zhí)行,在執(zhí)行過程中如果發(fā)生了異常,則中斷當前在
Normal execution block中的執(zhí)行,跳轉(zhuǎn)到對應(yīng)的異常處理塊中開始執(zhí)行;
python從第一個except X處開始查找,如果找到了對應(yīng)的exception類型則進入其提供的exception handle中進行處理,
如果沒有找到則直接進入except塊處進行處理。except塊是可選項,如果沒有提供,該exception將會被提交給python進行默認處理,
處理方式則是終止應(yīng)用程序并打印提示信息;
如果在Normal execution block執(zhí)行塊中執(zhí)行過程中沒有發(fā)生任何異常,則在執(zhí)行完Normal execution block后會進入else執(zhí)行塊中
(如果存在的話)執(zhí)行。
無論是否發(fā)生了異常,只要提供了finally語句,以上try/except/else/finally代碼塊執(zhí)行的最后一步總是執(zhí)行finally所對應(yīng)的代碼塊。
關(guān)于python try except語句為什么會出現(xiàn)異常就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。