1、什么是异常捕获
让程序执行过程中出现异常的时候不崩溃可以继续运行。
注 :不是任何时候都要使用异常捕获,是在你明明知道某个地方可能会出现不可控制的异常,又不想让程序崩溃的时候才使用
2、异常捕获的方法
1)获取所有异常
语法:
try:
代码块1
except:
代码块2
说明:
try,except - 关键字,固定写法
: - 固定写法
代码块1 - 和try保持一个缩进的一条或者多条语句;可能会出现异常的代码(需要捕获异常的代码)
代码块2 - 出现的异常被捕获到了,需要执行的代码
执行过程:
先执行代码块1,如果执行过程中出现异常直接执行代码块2;如果代码块1没有异常代码块2就不会执行
try:
age = int(input('输入年龄:')) # 'cczzll'
except:
print('请输入数字!') # 请输入数字!
2)针对指定类型的异常进行捕获
try:
代码块1
except 异常类型:
代码块2
执行过程:先执行代码块1,如果1发生异常,判断异常类型和except后面的异常类型是否一致,如果一致程序不崩溃直接执行
代码块2,不一致程序直接崩溃
try:
print({'name': '张三'}['age'])
print([10, 20][100])
except KeyError:
print('发生异常!')
3)同时捕获多种异常,针对不同的异常做相同的处理
语法:
try:
代码段1
except (异常类型1, 异常类型2,…):
代码段2
3)同时捕获多种异常,针对不同的异常做不同的处理
语法:
try:
代码段0
except 异常类型1:
代码段1
except 异常类型2:
代码段2
except 异常类型3:
代码段3
3.finally关键字
在所有异常捕获的语法结构的后面都可以添加finally关键字:
try:
代码段1
except:
代码段2
finally:
代码段3
代码段3无论什么情况都会执行(代码段1无论发生什么事情)
例:
def func1():
try:
print('==========')
return 100
except:
print('捕获到异常')
finally:
print('嘿嘿!')
print(func1())