目录
概念
异常就是不正常的情况,程序开发过程中错误和BUG都是补充正常的情况
异常发生的后果:引发程序崩溃
处理异常(容错):包容出现的不正常的错误,保证程序的正常执行
异常处理的目的:提高代码的稳定性和健壮性
处理异常的方式
try-except:异常捕获处理
assertions:断言测试
try:
#可能出现异常的代码
except(异常处理):
#一旦出现异常执行的代码
else:
#没有异常时执行的代码
finally:
不论是否有异常都会执行的代码,常用来执行一些重要的代码
Ps:在函数中遇到return,如果函数存在finally语句块,那么函数必须先执行完
finally,之后才会return
常见的一些异常提示
AttributeError: 试图访问一个对象没有的树形,比如foo.x,但是foo没有属性x
IOError :输入/输出异常;基本上是无法打开文件
ImportError: 无法引入模块或包;基本上是路径问题或名称错误
IndentationError :语法错误(的子类) ;代码没有正确对齐
IndexError :下标索引超出序列边界,比如当x只有三个元素,却试图访问x[5]
KeyError :试图访问字典里不存在的键
KeyboardInterrupt: Ctrl+C被按下
NameError :使用一个还未被赋予对象的变量
SyntaxError Python代码非法,代码不能编译(语法错误,写错了)
TypeError :传入对象类型与要求的不符合
UnboundLocalError :试图访问一个还未被设置的局部变量,基本上是由于另有一个同名的全局变量,导致你以为正在访问它