python異常如何全面捕獲

來源:互聯網
上載者:User

寫在前面:最近寫python程式,進場遇到異常的問題,因此需要捕獲異常。查閱了下資料,整理如下:

常見的異常處理的方法:
假設有下面的一段程式:
try:
    語句1
    語句2
    .
    語句N
except .........:
    print .......
    但是你並不知道“語句1至語句N”在執行會出什麼樣的異常,但你還要做異常處理,且想把出現的異常列印出來,並不停止程式的運行,
所以在“except ......”這句應怎樣來寫呢?
至少3個方法:

方法一:捕獲所有異常

   1: try:  
   2:     a=b  
   3:     b=c  
   4: except Exception,ex:  
   5:     print Exception,":",ex  

方法二:採用traceback模組查看異常

       1: import traceback  
       2: try:  
       3:     a=b  
       4:     b=c  
       5: except:  
       6:     traceback.print_exc()  

方法三:採用sys模組回溯最後的異常

   1: import sys  
   2: try:  
   3:     a=b  
   4:     b=c  
   5: except:  
   6:     info=sys.exc_info()  
   7:     print info[0],":",info[1]  

但是,如果你還想把這些異常儲存到一個記錄檔中,來分析這些異常,那麼請看下面的方法:
把 traceback.print_exc() 列印在螢幕上的資訊儲存到一個文字檔中

   1: try:  
   2:     a=b  
   3:     b=c  
   4: except:  
   5:     f=open("c:log.txt",'a')  
   6:     traceback.print_exc(file=f)  
   7:     f.flush()  
   8:     f.close()  

referer:http://blog.csdn.net/yangchao228/article/details/7425410

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.