异常描述
这里我们列举一些常见的程序报错:
- ZeroDivisionError,0作为除数时的报错
- NameError 未声明变量引发的错误
- IndexError 索引超出序列范围
- IndentationError 缩进错误
- ValueError 传值错误
- KeyError 请求不存在的字典关键字
- IOError 输入输出错误
- ImportError import语句无法找到模块
- AttributeError 尝试访问未知对象属性
- TypeError 类型不合适
- MemoryError 内存不足
异常处理语句
1.try…except
try:
block1
except [ExceptionName [as alias]]:
block2
把可能出错的放在try后面,如果try后的语句报错则会执行except语句中的代码
[ExceptionName [as alias]] 是可选参数,用于指定要捕获的异常,ExceptionName则是异常名称,如果要加上as关键字,则表示为当前异常指定一个别名。
2.try…except…else
else用于当try后没有报错时执行,其他不变
3.try…except…finally
完整的异常处理语句应该包含finally模块,无论程序中有无异常产生,finally后的代码块都会执行,
4.raise抛出异常
raise [ExceptionName(reason)]
reason用于指定错误的描述信息,如果省略不写则原样抛出
5.assert
assert expression[,reason]
expression为assert语句的条件表达式,如果条件为假则抛出异常,该语句很常用,通常用于检测错误位置,reason是对错误的补充描述。