异常捕获:
1.异常捕获
正常情况下程序出现异常,程序会直接崩溃,不能接着往后执行。
异常捕获就是为了让程序出现异常的时候不崩溃,自己处理异常
2.异常捕获
1)语法一: try-except(可以捕获所有异常)
try:
代码块1
except:
代码块2
其他语句
执行过程: 先执行代码块1,在执行代码块1的过程中如果出现异常,程序不崩溃直接执行代码块2。
如果没有出现异常,不执行代码块2直接执行其他语句
————————————————————————————
2)语法二:
try:
代码段1
except 异常类型:
代码段2
执行过程: 先执行代码段1,如果在执行代码块1的过程中出现异常,检查出现的异常类型是否和except后面的异常类型是否一致,
如果一致程序不崩溃,直接执行代码段2;如果不一致,程序直接崩溃。
如果没有异常,直接执行后面其他语句
————————————————————————————
3)语法三:
try:
代码段1
except (异常类型1,异常类型2,...):
代码段2
————————————————————————————
4)语法四:
try:
代码块1
except 异常类型1:
代码块2
except 异常类型2:
代码块2
...
————————————————————————————
5)上面的四种结构的最后都可以加上一个finally;不管try里面的代码有没有异常,异常有没有被捕获,
finally后面的代码都会执行。 一般可以在这个地方做一些数据的保存和备份操作!
try:
代码块1
except:
代码块2
finally:
代码块3
抛出异常: 主动让程序崩溃:
- 语法:
raise 异常类型
注意:异常类型可以是系统自带的,也可以是程序员自定义 (要求异常类型必须是Exception的子类)