欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

python筆記——try except方法

系統 1760 0

本文結構:
1、常見錯誤總結
2、try except方法

一、常見錯誤總結


  • AttributeError 試圖訪問一個對象沒有的樹形,比如foo.x,但是foo沒有屬性x
  • IOError 輸入/輸出異常;基本上是無法打開文件
  • ImportError 無法引入模塊或包;基本上是路徑問題或名稱錯誤
  • IndentationError 語法錯誤(的子類) ;代碼沒有正確對齊
  • IndexError 下標索引超出序列邊界,比如當x只有三個元素,卻試圖訪問x[5]
  • KeyError 試圖訪問字典里不存在的鍵
  • KeyboardInterrupt Ctrl+C被按下
  • NameError 使用一個還未被賦予對象的變量
  • SyntaxError Python代碼非法,代碼不能編譯(個人認為這是語法錯誤,寫錯了)
  • TypeError 傳入對象類型與要求的不符合
  • UnboundLocalError 試圖訪問一個還未被設置的局部變量,基本上是由于另有一個同名的全局變量,
    導致你以為正在訪問它
  • ValueError 傳入一個調用者不期望的值,即使值的類型是正確的

二、try except方法


有時候我們寫程序的時候,會出現一些錯誤或異常,導致程序終止,這個時候我們需要捕獲錯誤的類型,讓代碼更靈活,下面介紹下常用的try except來進行捕獲異常的方法。

  1. 處理單個異常:

  • 語法:
            
              
                >>
              
              
                >
              
              
                try
              
              
                :
              
              
                >>
              
              
                >
              
                   code

              
                >>
              
              
                >
              
              
                except
              
               Error1 
              
                as
              
               e
              
                :
              
              
                #處理Error1異常
              
              
                >>
              
              
                >
              
              
                print
              
              
                (
              
              e
              
                )
              
            
          
  • demo
            
              
                >>
              
              
                >
              
              
                try
              
                >>
              
              
                >
              
              
                print
              
              
                (
              
              
                5
              
              
                /
              
              
                0
              
              
                )
              
              
                #該行為測試的語句
              
              
                >>
              
              
                >
              
              
                except
              
                ZeroDivisionError 
              
                as
              
               e
              
                :
              
              
                ## 如果測試的語句出現except后的異常(例中的ZeroDivisionError),則執行下一行代碼,否則跳過此模塊
              
              
                >>
              
              
                >
              
              
                print
              
              
                (
              
              e
              
                )
              
              
                ## 打印錯誤名稱
              
              
division by zero        
              
                ##執行結果
              
            
          
  1. 分開處理多個異常:

  • 語法
            
              
                >>
              
              
                >
              
              
                try
              
              
                :
              
              
                >>
              
              
                >
              
                   code

              
                >>
              
              
                >
              
              
                except
              
               Error1 
              
                as
              
               e
              
                :
              
              
                #處理Error1異常
              
              
                >>
              
              
                >
              
              
                print
              
              
                (
              
              e
              
                )
              
              
                >>
              
              
                >
              
              
                except
              
               Error2 
              
                as
              
               e
              
                :
              
              
                #處理Error2異常    
              
              
                >>
              
              
                >
              
              
                print
              
              
                (
              
              e
              
                )
              
            
          
  • demo
            
              
                >>
              
              
                >
              
               a 
              
                =
              
              
                [
              
              
                0
              
              
                ,
              
              
                1
              
              
                ]
              
              
                >>
              
              
                >
              
              
                try
              
              
                :
              
              
                >>
              
              
                >
              
              
                print
              
              
                (
              
              a
              
                [
              
              
                3
              
              
                ]
              
              
                )
              
              
                >>
              
              
                >
              
              
                print
              
              
                (
              
              
                5
              
              
                /
              
              
                0
              
              
                )
              
              
                ##語句在上一行就遇到錯誤傳到except里面去了,未檢測到此語句 
              
              
                >>
              
              
                >
              
              
                except
              
               ZeroDivisionError 
              
                as
              
               e
              
                :
              
              
                #處理Error1異常
              
              
                >>
              
              
                >
              
              
                print
              
              
                (
              
              e
              
                )
              
              
                >>
              
              
                >
              
              
                except
              
               IndexError 
              
                as
              
               e
              
                :
              
              
                #處理Error2異常    
              
              
                >>
              
              
                >
              
              
                print
              
              
                (
              
              e
              
                )
              
              
                list
              
               index out of 
              
                range
              
            
          
  1. 統一處理多個異常:

  • 語法
            
              
                >>
              
              
                >
              
              
                try
              
              
                :
              
              
                >>
              
              
                >
              
                   code

              
                >>
              
              
                >
              
              
                except
              
              
                (
              
              Error1
              
                ,
              
              Error
              
                )
              
              
                :
              
              
                ###無論遇到什么異常,都只會執行下一行要打印的一種東西
              
              
                >>
              
              
                >
              
              
                print
              
              
                (
              
              e
              
                )
              
            
          
  1. 沒有異常,則走else部分的邏輯代碼

  • 語法:
            
              
                >>
              
              
                >
              
              
                try
              
              
                :
              
              
                >>
              
              
                >
              
                   code

              
                >>
              
              
                >
              
              
                except
              
              
                (
              
              Error1
              
                ,
              
              Error2
              
                ,
              
              
                .
              
              
                .
              
              
                .
              
              
                )
              
              
                as
              
               e
              
                :
              
              
                >>
              
              
                >
              
              
                print
              
              
                (
              
              e
              
                )
              
              
                >>
              
              
                >
              
              
                else
              
              
                :
              
              
                >>
              
              
                >
              
              
                print
              
              
                (
              
              
                "沒有錯誤,執行"
              
              
                )
              
            
          
  • demo
            
              
                >>
              
              
                >
              
              
                try
              
                >>
              
              
                >
              
              
                print
              
              
                (
              
              
                5
              
              
                /
              
              
                1
              
              
                )
              
              
                >>
              
              
                >
              
              
                except
              
                ZeroDivisionError 
              
                as
              
               e
              
                :
              
              
                >>
              
              
                >
              
              
                print
              
              
                (
              
              e
              
                )
              
              
                >>
              
              
                >
              
              
                else
              
              
                :
              
              
                >>
              
              
                >
              
              
                print
              
              
                (
              
              
                "沒有錯誤"
              
              
                )
              
              
沒有錯誤

            
          
  1. 不管有沒有錯誤,都會執行finnally中的代碼
    例如在對文件進行操作時候,如果文件讀寫過程中出現錯誤,無法關閉,可以將f.close()放在finally中,這樣無論是否有錯誤,文件都會關閉

            
              
                >>
              
              
                >
              
              
                try
              
              
                :
              
              
                >>
              
              
                >
              
                   code

              
                >>
              
              
                >
              
              
                except
              
              
                (
              
              Error1
              
                ,
              
              Error2
              
                ,
              
              
                .
              
              
                .
              
              
                .
              
              
                )
              
              
                as
              
               e
              
                :
              
              
                >>
              
              
                >
              
              
                print
              
              
                (
              
              e
              
                )
              
              
                >>
              
              
                >
              
              
                else
              
              
                :
              
              
                >>
              
              
                >
              
              
                print
              
              
                (
              
              
                "沒有錯誤,執行"
              
              
                )
              
              
                >>
              
              
                >
              
               finnally
              
                :
              
              
                >>
              
              
                >
              
              
                print
              
              
                (
              
              
                "不管有沒有錯,都執行finnally"
              
              
                )
              
            
          

更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 亚洲热视频 | 色偷偷888欧美精品久久久 | 永久免费在线播放 | 国产精品伊人 | 日韩欧美一级大片 | 成人免费毛片视频 | av日韩在线免费观看 | 久草国产电影 | 国产黄色在线观看 | 亚洲精品午夜在线观看 | 久久精品视频日本 | 九九综合九九综合 | 三级理论中文字幕在线播放 | vidz 98hd| 91精品久久久 | 波多野结衣 久久 | 在线观看中文字幕 | 四库影院永久在线精品 | 天天狠狠 | 精品国产一区二区三区久久久蜜月 | 亚洲乱人伦在线 | 亚欧洲精品bb | 亚洲综合精品 | 91手机在线视频观看 | 国产特级毛片AAAAAAA高清 | 人人爱国产 | 国产精品成人av | 久久精品99 | 午夜视频在线观看视频 | 日本不卡免费新一二三区 | 国产亚洲精品久久无码小说 | 久久国产精品亚洲 | 亚洲成人综合视频 | 日韩精品一区二区三区不卡 | 亚洲免费一区 | 国产精品久久久久aaaa九色 | 天天影院成人免费观看 | 91网站在线免费观看 | 欧美成人三级一区二区在线观看 | 久久青草精品免费资源站 | 91一区二区三区在线观看 |