异常处理和文件操作
try...except
* 使用不存在的字典关键字 将引发 KeyError 异常。
* 搜索列表中不存在的值 将引发 ValueError 异常。
* 调用不存在的方法 将引发 AttributeError 异常。
* 引用不存在的变量 将引发 NameError 异常。
* 未强制转换就混用数据类型 将引发 TypeError 异常。
* 导入一个并不存在的模块将引发一个 ImportError 异常
###################
#try...except
##################
try:
fsock = open("f:\\hel.txt")
except IOError:
print("Does NOT exist")
print("Always do this!")
###################
#try...except end
#################
|
try..except 要注意的是,except后的行是执行的
如果不知道异常类型,可以去掉IOError
示例:对一个文件优美的操作
##################
# file open
##################
try:
fsock = open("f:\\ro.mp3", "rb", 0)
try:
fsock.seek(-128, 2)
tagdata = fsock.read(128)
finally:
fsock.close()
except IOError:
print("error")
##################
# file open end
##################
|
在shell里run的结果
>>>
>>> fsock.name
'f:\\ro.mp3'
>>> fsock.mode
'rb'
>>> fsock.closed
True
>>>
本
作品由
loseblue创作,采用进行许可。
阅读(687) | 评论(0) | 转发(0) |