亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

python筆記——try except方法

系統(tǒng) 1879 0

本文結(jié)構(gòu):
1、常見錯(cuò)誤總結(jié)
2、try except方法

一、常見錯(cuò)誤總結(jié)


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

二、try except方法


有時(shí)候我們寫程序的時(shí)候,會(huì)出現(xiàn)一些錯(cuò)誤或異常,導(dǎo)致程序終止,這個(gè)時(shí)候我們需要捕獲錯(cuò)誤的類型,讓代碼更靈活,下面介紹下常用的try except來進(jìn)行捕獲異常的方法。

  1. 處理單個(gè)異常:

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

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

  • 語法
            
              
                >>
              
              
                >
              
              
                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
              
              
                )
              
              
                ##語句在上一行就遇到錯(cuò)誤傳到except里面去了,未檢測到此語句 
              
              
                >>
              
              
                >
              
              
                except
              
               ZeroDivisionError 
              
                as
              
               e
              
                :
              
              
                #處理Error1異常
              
              
                >>
              
              
                >
              
              
                print
              
              
                (
              
              e
              
                )
              
              
                >>
              
              
                >
              
              
                except
              
               IndexError 
              
                as
              
               e
              
                :
              
              
                #處理Error2異常    
              
              
                >>
              
              
                >
              
              
                print
              
              
                (
              
              e
              
                )
              
              
                list
              
               index out of 
              
                range
              
            
          
  1. 統(tǒng)一處理多個(gè)異常:

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

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

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

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

            
          
  1. 不管有沒有錯(cuò)誤,都會(huì)執(zhí)行finnally中的代碼
    例如在對(duì)文件進(jìn)行操作時(shí)候,如果文件讀寫過程中出現(xiàn)錯(cuò)誤,無法關(guān)閉,可以將f.close()放在finally中,這樣無論是否有錯(cuò)誤,文件都會(huì)關(guān)閉

            
              
                >>
              
              
                >
              
              
                try
              
              
                :
              
              
                >>
              
              
                >
              
                   code

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

更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

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

【本文對(duì)您有幫助就好】

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

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 亚洲欧美综合一区二区三区四区 | 天天夜夜狠狠 | 日本亚洲欧美美色 | 亚洲 欧美 bt | 99re热久久精品这里都是精品 | 在线观看国产一区二区三区99 | 国产资源精品一区二区免费 | 久久久久久久国产视频 | 久久婷婷五综合一区二区 | 亚洲小视频在线观看 | 欧美国产一区二区二区 | 欧美国产精品一区二区免费 | 久久久久久综合一区中文字幕 | 久久一本精品久久精品66 | 中国一级特黄特级毛片 | 国产三级黄色录像 | 91久久香蕉国产线看 | 久草视频免费在线看 | a一级黄| 老子影院伦不卡欧美 | 欧美成人aⅴ | 久久ri精品高清一区二区三区 | 久热这里只精品99国产6_99 | 九九视频在线免费观看 | 91综合精品网站久久 | 免费在线一级毛片 | 国产亚洲精品久久午夜 | 国产精品热久久 | 久久伊人草 | 国产成人高清亚洲一区久久 | 欧美影院一区二区三区 | 91色蝌蚪 | 天海冀一二三区 | 豆国产93在线 | 亚洲 | 天天干天天干天天干天天 | 午夜欧美精品久久久久久久久 | 国产福利影院 | 久久99国产乱子伦精品免费 | 亚洲精品区一区二区三区四 | 免费国产午夜高清在线视频 | 四虎最新免费网址 |