<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        python錯誤、異常和程序調試的方法介紹(附代碼)

        來源:懂視網 責編:小采 時間:2020-11-27 14:20:21
        文檔

        python錯誤、異常和程序調試的方法介紹(附代碼)

        python錯誤、異常和程序調試的方法介紹(附代碼):本篇文章給大家帶來的內容是關于python錯誤、異常和程序調試的方法介紹(附代碼),有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。異常是Python程序在運行過程中引發的錯誤,如果程序中引發了未進行處理的異常,程序就會由于異常而終止運行
        推薦度:
        導讀python錯誤、異常和程序調試的方法介紹(附代碼):本篇文章給大家帶來的內容是關于python錯誤、異常和程序調試的方法介紹(附代碼),有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。異常是Python程序在運行過程中引發的錯誤,如果程序中引發了未進行處理的異常,程序就會由于異常而終止運行

        本篇文章給大家帶來的內容是關于python錯誤、異常和程序調試的方法介紹(附代碼),有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。

        異常是Python程序在運行過程中引發的錯誤,如果程序中引發了未進行處理的異常,程序就會由于異常而終止運行,只有為程序添加異常處理,才能使程序更“健壯”。

        Python對異常的處理,有它自己的語法形式,掌握如何在Python中處理異常和進行程序調試,主要內容有:

      1. 列表項目
      2. 列表項目
      3. 語法錯誤;
      4. 異常的概念;
      5. 用try語句捕獲異常;
      6. 常見異常的處理;
      7. 自定義異常;
      8. 使用pdb調試Python程序。
      9. 7.1 語法錯誤

        1.拼寫錯誤

        即Python語言中的關鍵字寫錯,變量名、函數名拼寫錯誤等。

        關鍵字拼寫錯誤時會提示SyntaxError(語法錯誤),而變量名、函數名拼寫錯誤會在運行時給出NameError的錯誤提示.

        2.腳本程序不符合Python的語法規范

        例如如少了括號,冒號等符號,以及表達式書寫錯誤等。

        3.縮進錯誤

        因為Python語法規定,以縮進作為程序的語法之一,這應該是Python語言獨特的一面。一般來說Python標準的縮進是以4個空格作為一個縮進。當然,你可以依據自己的習慣,使用Tab也可以。但同一個程序或項目中應該統一使用同一種縮進風格。

        7.2 異常的處理

        異常是Python程序在運行過程中引發的錯誤。如果程序中引發了未進行處理的異常,腳本就會由于異常而終止運行。只有在程序中捕獲這些異常,并進行相關的處理,才能使程序不會中斷運行。

        7.2.1 異常處理的基本語法

        Python中使用try語句來處理異常,和Python中其他語句一樣,try語句也要使用縮進結構,try語句也有一個可選的else語句塊。一般的try語句基本形式如下。

        try:
           <語句(塊)> #可能產生異常的語句(塊)
          except <異常名1>: #要處理的異常
           <語句(塊)> #異常處理語句
          except <異常名2>: #要處理的異常
           <語句(塊)> #異常處理語句
          else:
           <語句(塊)> #未觸發異常,則執行該語句(塊)
          finally:
           <語句(塊)> #始終執行該語,一般為了達到釋放資源等目的
          

        在實際應用中可以根據程序的需要而使用部分語句,常見的形式有:

        形式一:

        try:
           <語句(塊)>
          except <異常名1>:
           <語句(塊)>
          

        舉例:

        def testTry (index, flag=False):
           stulst = ["John","Jenny","Tom"]
           if flag: #flag為True時,捕獲異常
           try:
           astu = stulst [index]
           except IndexError:
           print("IndexError")
           return "Try Test Finished!"
           else: #flag為False時,不捕獲異常
           astu =stulst [index]
           return "No Try Test Finished!"
          print("Right params testing start...")
          print (testTry (1, True)) #不越界參數,捕獲異常(正常)
          print (testTry (1, False)) #不越界參數,不捕獲異常(正常)
          print("Error params testing start...")
          print (testTry (4, True)) #越界參數,捕獲異常(正常)
          print (testTry (4, False)) #越界參數,不捕獲異常(程序運行會中斷)
          

        形式二: 

         try:
           <語句(塊)>
           except < 異常名1>:
           <語句(塊)>
           finally:
           <語句(塊)>
         

        舉例:

        def testTryFinally (index):
           stulst = ["John","Jenny", "Tom"]
           af = open ("my.txt", 'wt+')
           try:
           af.write(stulst[index])
           except:
           pass
           finally:
           af.close() #無論是否產生越界異常,都關閉文件
           print("File already had been closed!")
          print('No IndexError...')
          testTryFinally (1) #無越界異常,正常關閉文件
          print('IndexError...')
          testTryFinally (4) #有越界異常,正常關閉文件
        7.2.2 Python主要的內置異常及其處理

        在Python中常見的異常都已經預定義好了,在交互式環境中,用dir(__builtins__)命令,就會顯示出所有的預定義異常。

        異常名描述
        AttributeError調用不存在的方法引發的異常
        EOFError遇到文件末尾引發的異常
        ImportError導入模塊出錯引發的異常
        IndexError列表越界引發的異常
        IOErrorI/O操作引發的異常,如打開文件出錯等
        KeyError使用字典中不存在的關鍵字引發的異常
        NameError使用不存在的變量名引發的異常
        TabError語句塊縮進不正確引發的異常
        ValueError搜索列表中不存在的值引發的異常
        ZeropisionError除數為零引發的異常

        except語句主要有以下幾種用法:

        except: #捕獲所有異常;
        except <異常名>: #捕獲指定異常;
        except (異常名1,異常名2): #捕獲異常名1或者異常名2;
        except <異常名> as <數據>: #捕獲指定異常及其附加的數據;
        except(異常名1,異常名2)as <數據>: #捕獲異常名1或者異常名2及異常的附加數據。

        7.3 手工拋出異常

        為了程序的需要,程序員還可以自定義新的異常類型,例如對用戶輸入文本的長度有要求,則可以使用raise引發異常,以確保文本輸入的長度符合要求。

        7.3.1 用raise手工拋出異常

        使用raise引發異常十分簡單,raise有以下幾種使用方式。

          raise 異常名
          raise 異常名,附加數據
          raise 類名
        使用raise可以拋出各種預定的異常,即使程序在運行時根本不會引發該異常。

        def testRaise2():
         for i in range (5):
         try:
         if i==2: #i==2拋出NameError異常
         raise NameError
         except NameError:
         print('Raise a NameError!')
         print (i)
         print('end...')
        
        testRaise2 ()

        運行結果:

        0
        1
        Raise a NameError!
        2
        3
        4
        end...

        7.3.2 assert語句

        assert語句的一般形式如下。

        assert <條件測試>, <異常附加數據> #其中異常附加數據是可選的

        assert語句是簡化的raise語句,它引發異常的前提是其后面的條件測試為假。

        舉例:

        def testAssert():
           for i in range (3):
           try:
           assert i<2
           except AssertionError:
           print('Raise a AssertionError!')
           print (i)
           print('end...')
        
          testAssert()

        運行結果:

        0
        1
        Raise a AssertionError!
        2
        end...

        assert語句一般用于在程序開發時測試代碼的有效性。比如某個變量的值必須在一定范圍內,而運行時得到的值不符合要求,則引發該異常,對開發者予以提示。所以一般在程序開發中,不去捕獲這個異常,而是讓它中斷程序。原因是程序中已經出現了問題,不應繼續運行。

        assert語句并不是總是運行的,只有Python內置的一個特殊變量__debug__為True時才運行。要關閉程序中的assert語句就使用python-O(短畫線,后接大寫字母O)來運行程序。

        7.3.3 自定義異常類

        在Python中定義異常類不用從基礎完全自己定義,只要通過繼承Exception類來創建自己的異常類。異常類的定義和其他類沒有區別,最簡單的自定義異常類甚至可以只繼承Exception類,類體為pass如:

        class MyError (Exception): #繼承Exception類
           pass

        如果需要異常類帶有一定的提示信息,也可以重載__init__和__str__這兩個方法。【相關推薦:python視頻教程】

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        python錯誤、異常和程序調試的方法介紹(附代碼)

        python錯誤、異常和程序調試的方法介紹(附代碼):本篇文章給大家帶來的內容是關于python錯誤、異常和程序調試的方法介紹(附代碼),有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。異常是Python程序在運行過程中引發的錯誤,如果程序中引發了未進行處理的異常,程序就會由于異常而終止運行
        推薦度:
        標簽: 錯誤 代碼 程序
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 中文字幕久久亚洲一区| 国产公开免费人成视频| 亚洲AV无码久久精品蜜桃| 青青久久精品国产免费看| 亚洲国产成人爱av在线播放| 青娱乐在线视频免费观看| 国产免费爽爽视频免费可以看| 亚洲精华国产精华精华液网站| 四虎永久成人免费影院域名| 黄色一级毛片免费看| 亚洲国产精品碰碰| 三上悠亚在线观看免费| 亚洲AV无码乱码国产麻豆穿越| 日韩免费高清大片在线| 国产精品亚洲午夜一区二区三区 | 亚洲美女视频网址| 91短视频在线免费观看| 亚洲av成人一区二区三区| 女人与禽交视频免费看| 男女猛烈激情xx00免费视频| 久久亚洲国产精品五月天婷| 久久国产免费一区| 亚洲中文字幕精品久久| 亚洲区日韩区无码区| 日韩免费无码视频一区二区三区 | 美女扒开屁股让男人桶爽免费 | 97亚洲熟妇自偷自拍另类图片| 97免费人妻无码视频| 羞羞视频免费网站入口| 亚洲综合色自拍一区| 欧洲一级毛片免费| 两个人看的www免费视频| 亚洲色av性色在线观无码| 免费人成视频在线观看不卡| 免费福利电影在线观看| 久久亚洲国产最新网站| 久久亚洲2019中文字幕| 成年女人免费碰碰视频| 在线免费观看h片| 亚洲七久久之综合七久久| 亚洲国产精品无码一线岛国|