◆ 异常处理机制
运行时发现错误,进行恢复处理,然后继续执行的能力。异常会由内向外层抛出
把有可能出现异常的代码放在try模块中
except 模块接收异常 异常类型要注意一下 这个模块中可以操作一些动作
finally 无论是否异常,都会执行
raise 自己定义抛出异常 (注意一下异常类型,要内置有的类型)
filename=raw_input("请输入一个文件")
try:
f=open(filename)
except IOError,msg:
print "你指定的文件不存在"
except NameError,msg:
pass
finally
print 'ok'
if filename=="hello":
raise TypeError("nothing !!!")
◆ 异常类型
AssertionError assert语句失败
AttributeError 试图访问一个对象没有的属性
IOError 输入输出异常,基本是无法打开文件
ImportError 无法引入模块请求包,基本是路径问题
IndentationError 语法错误,代码没有正确的对齐
IndexEroor 下标索引超出序列边界
KeyError 试图访问你字典里不存在的键
KeyboardInterrupt Ctrl+C 被按下
NameError 使用一个还未赋予对象的变量
SyntaxError Python代码逻辑语法出错,不能执行
TypeError 传入的对象类型与要求的不符
UnboundLocalError 试图访问一个还未设置的全局,基本上是由于别有一个同名的全局变量,导致你以为在访问
ValueError 传入一个不被期望的值,即使类型正确