9 异常
- 什么是异常捕获
让程序执行过程中出现异常的时候不崩溃可以继续执行。
注意:不是任何时候都要使用异常捕获,要在明明知道某个位置可能会出现异常,又不想让程序崩溃的时候使用。
- 异常捕获的语法结构
1) 结构一:
try:
代码段1
except:
代码段2
说明:
try、except - 关键字,固定写法
: - 固定写法
代码段1 - 和try保持缩进的一条或多条语句;可能会出现异常的代码(需要捕获异常的代码)
代码段2 - 出现的异常被捕获到了,需要执行的代码
执行过程:
先执行代码段1,如果执行过程中出现异常直接执行代码段2;如果代码段1中没有异常,代码段2不会执行
# 练习:输入年龄,如果输入有误提示年龄输入有对的信息
try:
age = int(input('请输入年龄:'))
except:
print('年龄输入有误!')
2)结构二:针对制定类型的异常进行捕获
try:
代码段1
except 异常类型:
代码段2
执行过程:
先执行代码段1,如果代码段1出现异常,判断出现的异常类型和except后面的异常类型是否一致,如果一致程序不崩溃直接执行代码段2,不一致程序直接崩溃。
3)结构三:同时捕获多种异常,针对不同的异常做相同的处理
try:
代码段1
except (异常类型1,异常类型2,...):
代码段2
执行过程:
先执行代码段1,如果代码段1出现异常,判断出现的异常类型和except后面的异常类型是否存在,如果存在程序不崩溃直接执行代码段2,不存在程序直接崩溃。
4)结构四:同事捕获多种异常,针对不同的异常做不同的处理
try:
代码段1
except 异常类型1:
代码段11
except 异常类型2:
代码段22
except 异常类型3:
代码段33
......
执行过程参照结构一
- finally关键字
在所有异常捕获的语法结构的最后面都可添加finally关键字。finally关键字后的代码无论发生什么情况都会执行。