python的異常Exception

來源:互聯網
上載者:User

 

Python 的異常處理機制

Python代碼 

 try:    

  raise Exception("a", "b")    

    except Exception,e:    

  print e    

    finally:    

  print "final"    

 

 

('a', 'b')('a', 'b')    

final    

 

同樣可以處理多個異常篩選。

Python代碼 

 try:    

  raise EOFError("aa", "bb")    

    except RuntimeError, e:    

  print "[RuntimeErro]: ", e    

    except EOFError, e:    

  print "[EOFError]: ", e    

    except Exception, e:    

  print "[Error]: ", e    

    finally:    

  print "final"    

 

 

[EOFError]:  ('aa', 'bb')    

final    

 

除了異常參數,我們還可以用sys的一些方法來擷取異常資訊。

Python代碼 

import sys    

try:    

  raise RuntimeError("the runtime error raised")    

    except:    

  print sys.exc_info()    

 

 

(<type 'exceptions.RuntimeError'>, RuntimeError('the runtime error raised',), <traceback object at 0x00DC5CB0>)    

 

預設情況下,異常類都繼承自 Exception。

 

Python代碼 

>>>>>> class MyException(Exception):    

  pass    

 

>>>>>> try:    

  raise MyException("My Exception raised!")    

    except:    

  print sys.exc_info()    

 

 

(<class '__main__.MyException'>, MyException('My Exception raised!',), <traceback object at 0x00DC58F0>)    

>>>>>>   

 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.