[Python 学习笔记] 12: Exception



  Python 异常处理机制和 C# 类似

>>> try:
 raise Exception("a", "b")
except Exception, e:
 pr e
finally:
 pr "finally..."
 
('a', 'b')
finally...


  同样可以处理多个异常筛选

>>> try:
 raise Exception("a", "b")
except RuntimeError, e:
 pr "[RuntimeError]", e
except EOFError, e:
 pr "[EOFError]", e
except Exception, e:
 pr "[Error]", e
finally:
 pr "finally..."
 
[Error] ('a', 'b')
finally...


  除了异常参数我们还可以用sys些思路方法来获取异常信息

>>> import sys
>>> try:
 raise Exception("a", "b")
except:
 pr sys.exc_info
 
(<type 'exceptions.Exception'>, Exception('a', 'b'), <traceback object at 0x00D37A80>)


  缺省情况下异常类都继承自 Exception

>>> import sys
>>>  MyException(Exception):
 pass
>>> try:
 raise MyException
except:
 pr sys.exc_info
(< '____.MyException'>, MyException, <traceback object at 0x00D37AA8>)


Tags: 

延伸阅读

最新评论

发表评论