python的异常Exception

来源:互联网 发布:高校网络安全教育 编辑:程序博客网 时间:2024/05/14 00:48

 

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>)    

>>>>>>