异常类型
AssertionError | 断言语句失败 |
---|---|
AttributeError | 尝试访问未知的对象属性 |
IndexError | 索引超出序列的范围 |
KeyError | 字典中查找一个不存在的关键字 |
NameError | 尝试访问一个不存在的变量 |
OSError | 操作系统产生的异常 |
SyntaxError | python语法错误 |
TypeError | 不同类型间的无效操作 |
ZeroDivisionError | 除数为零 |
try-except语句
用于检测和处理异常
'try:
f = open('一个不知名的文档.txt')
print(f.read())
f.close()
except OSError:
print("文件打开过程出错了")
可以改善用户体验
1.针对不同的异常,可以设置多个except
except OSError as reason:
…
except TypeError as reason:
…
2.对多可异常可以统一处理
except (OSError, TypeError)
…
3.捕获所有异常
except:
…
try-finally语句
引入finally,该部分无论try部分是否出现异常都将被执行
raise语句
直接抛出异常
else语句
1.if······else······
2.else与for,while循环配合
在循环中间使用break语句跳出循环,else
中的内容将不被执行
3.try······except······else
只要try中没有出现异常,就会执行else中的内容
with语句
自动帮助关闭文件
f = open(“data.txt”, ‘w’)
使用with后:
with open(“data.txt”, ‘w’) as f:
…