你不得不知道的python文件异常处理_python


一、常见的异常:

  • 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

你不得不知道的python文件异常处理_python_02