异常处理
什么是异常?
异常俗称bug,就是代码出错,代码出错程序就会停止执行。
异常信息的组成:
-
line关键字所在的一行
用于提示你代码哪一行出错了 点击前面的蓝色字体可以直接定位
‘’‘如果报错的信息很长 一般最后一个才是’’’ -
NameError错误的类型
代码的报错也可以分为很多类型 -
name ‘name’ is not defined
具体的报错原因(就是解决报错的答案)
异常的分类:
-
语法异常:比如if语法 while语法
-
逻辑异常:
异常的类型:
Python常见异常类型大概分为以下类:- AssertionError:当assert断言条件为假的时候抛出的异常
- AttributeError:当访问的对象属性不存在的时候抛出的异常
- IndexError:超出对象索引的范围时抛出的异常
- KeyError:在字典中查找一个不存在的key抛出的异常
- NameError:访问一个不存在的变量时抛出的异常
- OSError:操作系统产生的异常
- SyntaxError:语法错误时会抛出此异常
- TypeError:类型错误,通常是不通类型之间的操作会出现此异常
- ZeroDivisionError:进行数学运算时除数为0时会出现此异常
异常处理:
捕捉异常可以使用 try / except 语句。
try/except语句用来检测try语句块中的错误,从而让except语句捕获异常信息并处理。
如果你不想在异常发生时结束你的程序,只需在try里捕获它。
语法:
try…except…else语法:
try:
<语句> #运行别的代码
except <名字>:
<语句> #如果在try部份引发了'name'异常
except <名字>,<数据>:
<语句> #如果引发了'name'异常,获得附加的数据
else:
<语句> #如果没有异常发生
try-finally 语句
try-finally 语句无论是否发生异常都将执行最后的代码。
try:
<语句>
finally:
<语句> #退出try时总会执行