8. 错误和异常

来源:互联网 发布:淘宝能买到恐怖水琴吗 编辑:程序博客网 时间:2024/05/17 02:49
python 的 try - except 机制

try 语句 包含 try子句  和 except子句

try 语句的最终可包含 else子句. 当try中无异常抛出时, 可执行else语句中的剩余代码

抛出异常:
raise

用户自定义异常:

异常类通常应该直接或间接的从 Exception 类派生,例如:

class MyError(Exception):       def __init__(self, value):                self.value = value       def __str__(self):               return repr(self.value)try:       raise MyError(4.0)except MyError as e:       print 'My exception occured , value:' , e.value
http://write.blog.csdn.net/postedit/40902665


Exception 默认的__init__() 被覆盖。新的方式简单的创建value 属性。这就替换了原来创建 args 属性的方式


如果一个新创建的模块中需要抛出几种不同的错误时,一个通常的作法是为该模块定义一个异常基类,然后针对不同的错误类型派生出对应的异常子类:


class Error(Exception):       passclass selfDefineError1(Error):       def __init__ (self , value):               self.value = valueclass selfDefineError2(Error):       def __init__ (self, value , str):               self.value = value               self.str = str



定义清理行为:
finally子句

预定义清理行为:

有些对象定义了标准的清理行为,无论对象操作是否成功,不再需要该对象的时 候就会起作用。


with open ('a.txt') as f:       for Line in f:            print Line


python 2.7 的完整异常列表:

https://docs.python.org/2.7/library/exceptions.html#exception-hierarchy

其余版本可自行到 python 官网, docs.python.org 上查找
0 0
原创粉丝点击