日韩欧乱色一区二区三区在线_久久―日本道色综合久久_欧美日本一区二区_网曝91综合精品门事件在线

千鋒教育-做有情懷、有良心、有品質的職業教育機構

手機站
千鋒教育

千鋒學習站 | 隨時隨地免費學

千鋒教育

掃一掃進入千鋒手機站

領取全套視頻
千鋒教育

關注千鋒學習站小程序
隨時隨地免費學習課程

當前位置:首頁  >  技術干貨  > python如何捕獲Python中的異常

python如何捕獲Python中的異常

來源:千鋒教育
發布人:xqq
時間: 2023-11-10 14:21:01 1699597261

python提供了tryexcept語句捕獲并處理異常,該異常處理語句的基本語法結構如下:

try:

可能產生異常的代碼塊

except[(Error1,Error2,...)[ase]]:

處理異常的代碼塊1

except[(Error3,Error4,...)[ase]]:

處理異常的代碼塊2

該格式中,[]括起來的部分可以使用,也可以省略;(Error1,Error2,...)、(Error3,Error4,...)表示各自的except塊可以處理異常的具體類型;[ase]表示將異常類型賦值給變量e(方便在except塊中調用異常類型)。

注意,except后面也可以不指定具體的異常名稱,這樣的話,表示要捕獲所有類型的異常。

另外,從tryexcept的基本語法格式可以看出,try塊僅有一個,但except代碼塊可以有多個,這是為了針對不同的異常類型提供不同的異常處理方式。當程序發生不同的意外情況時,會對應不同的異常類型,Python解釋器就會根據該異常類型來決定使用哪個except塊來處理該異常。

通過在try塊后提供多個except塊可以無須在異常處理塊中使用if判斷異常類型,但依然可以針對不同的異常類型提供相應的處理邏輯,從而提供更細致、更有條理的異常處理邏輯。

tryexcept語句的執行流程如下:首先執行try中的代碼塊,如果執行過程中出現異常,系統會自動生成一個異常對象,該異常對象會提交給Python解釋器,此過程被稱為引發異常。當Python解釋器收到異常對象時,會尋找能處理該異常對象的except塊,如果找到合適的except塊,則把該異常對象交給該except塊處理,這個過程被稱為捕獲異常。如果Python解釋器找不到捕獲異常的except塊,則程序運行終止,Python解釋器也將退出。

事實上,不管程序代碼塊是否處于try塊中,甚至包括except塊中的代碼,只要執行該代碼塊時出現了異常,系統總會自動生成一個Error對象。如果程序沒有為這段代碼定義任何的except塊,則Python解釋器無法找到處理該異常的except塊,程序就會停止運行;反之,如果程序發生異常,并且該異常經try捕獲并由except處理完成,則程序會繼續執行。

舉個例子:

try:

a=int(input("輸入被除數:"))

b=int(input("輸入除數:"))

c=a/b

print("您輸入的兩個數相除的結果是:",c)

except(ValueError,ArithmeticError):

print("程序發生了數字格式異常、算術異常之一")

except:

print("未知異常")

print("程序繼續運行")

程序運行結果為:

輸入被除數:a

程序發生了數字格式異常、算術異常之一

程序繼續運行

上面程序中,第6行代碼使用了(ValueError,ArithmeticError)來指定所捕獲的異常類型,這就表明該except塊可以同時捕獲這2種類型的異常;第8行代碼只有except關鍵字,并未指定具體要捕獲的異常類型,這種省略異常類的except語句也是合法的,它表示可捕獲所有類型的異常,一般會作為異常捕獲的最后一個except塊。除此之外,由于try塊中引發了異常,并被except塊成功捕獲,因此程序才可以繼續執行,才有了“程序繼續運行”的輸出結果。

以上內容為大家介紹了Python培訓之如何捕獲Python中的異常,希望對大家有所幫助,如果想要了解更多Python相關知識,請關注IT培訓機構:千鋒教育。

tags: python培訓
聲明:本站稿件版權均屬千鋒教育所有,未經許可不得擅自轉載。
10年以上業內強師集結,手把手帶你蛻變精英
請您保持通訊暢通,專屬學習老師24小時內將與您1V1溝通
免費領取
今日已有369人領取成功
劉同學 138****2860 剛剛成功領取
王同學 131****2015 剛剛成功領取
張同學 133****4652 剛剛成功領取
李同學 135****8607 剛剛成功領取
楊同學 132****5667 剛剛成功領取
岳同學 134****6652 剛剛成功領取
梁同學 157****2950 剛剛成功領取
劉同學 189****1015 剛剛成功領取
張同學 155****4678 剛剛成功領取
鄒同學 139****2907 剛剛成功領取
董同學 138****2867 剛剛成功領取
周同學 136****3602 剛剛成功領取
相關推薦HOT
主站蜘蛛池模板: 郑州市| 望谟县| 韩城市| 阜平县| 紫金县| 志丹县| 泗阳县| 葵青区| 佳木斯市| 蚌埠市| 南部县| 镇原县| 仙桃市| 安庆市| 荥阳市| 岢岚县| 多伦县| 嘉峪关市| 扎囊县| 长海县| 屏南县| 西乌珠穆沁旗| 喀喇| 讷河市| 右玉县| 登封市| 德安县| 武城县| 阜新市| 禄劝| 旌德县| 油尖旺区| 商洛市| 贵阳市| 宿州市| 上虞市| 乌审旗| 科尔| 神木县| 叶城县| 杭州市|