一、常见的异常:
SyntaxError 语法错误
NameError 未声明/初始化对象
TypeError 对类型无效的操作
KeyError 字典中查找不存在的键
IOError 输入/输出操作失败
IndexError 序列中没有此索引
ImportError 导入模块/对象失败
二、异常的捕抓
◎ try......except
用来检测语句中的错误,从而让except语句捕获异常并处理。
try后面接的语句一旦出现异常错误后面的语句将不执行
except Error as reason :是把异常的原因给reason这个变量
例:用只读的方式打开不存在的文件时,出现的IOError
try:
f = open('abc','r')
except IOError as reason: #as reason 是可缺省的reason是变量名
print '文件操作错误',reason
三、异常处理
◎ try......finally
finally后面的接的语句就是无论异常是否发生都会执行的语句
例:
try:
f = open('abc','w')
f.write('hello python')
f.read()
except IOError:
print '文件操作有误'
finally:
f.close()
print '异常处理'
四、触发异常
◎ raise [Exception]
使用raise语句自己触发异常,并且raise后面的语句不再执行
例:
# -*- coding:gbk -*-
try:
print 123
raise IOError('ooooo')
print 123
except IOError,NameError:
print '文件操作错误',NameError
finally:
print'python'
五、断言
◎ assert 条件
用来声明某个条件是真的
如果条件是假的则会抛出AssertionError异常
例:
>>> assert 1>2
Traceback (most recent call last):
File "", line 1, in
assert 1>2
AssertionError
>>> assert 1<8
>>> assert 4<6