1.异常捕获
"""
当程序发生异常的时候,默认情况会崩溃,不能接着往后执行,
捕获异常就是让程序发生异常的时候不崩溃,能够接着往后执行
明明知道代码会出现异常,但是又不能通过修改代码取避免,这个时候就可以通过异常捕获去处理异常。
"""
2.捕获异常的语法
"""
1)语法1: - 捕获所有的异常
try:
代码段1
except:
代码段2
说明:try,except - 关键字
代码段1 - 需要捕获异常的一条或者多条语句的代码
代码段2 - 出现异常后会执行的一条或者多条语句
执行过程:先执行代码段1,如果执行代码段1的时候出现异常,程序不崩溃,直接执行代码段2
如果代码段1没出现异常,不会执行代码段2,直接执行后面的代码
2)语法2
try:
代码段1
except 异常类型:
代码块2
执行过程:先执行代码段1,如果执行代码段1的时候出现异常,判断异常类型和except后面的异常类型是否一致
如果一致的程序不崩溃,直接执行代码段2,如果不一致,程序直接崩溃
3)语法3
try:
代码段1
except:
代码段2(异常类型1,异常类型2,……)
4)语法4
try:
代码段1
except 异常类型1:
代码段2
except 异常类型2:
代码段3
……
finally:
代码段f
# 语法1的例子
try:
nums = [1, 2, 3, 4]
print(nums[5])
except:
print('出现异常')
# 语法2的例子
nums = {'name': '小明', 'age': 18, 'gender': '男'}
try:
print(nums[4])
print('====')
except KeyError:
print('出现错误的异常
3.finally:
"""
捕获异常的最后都可以添加一个finally,后面的代码块,任何情况都会执行。
1)try后面的代码段么有出现异常,finally会执行
2)try后面的代码段出现异常被捕获到,finally会执行
3)try后面的代码段出现异常没有被捕获到,finally会执行,程序崩溃
"""
4.抛出异常 raise
"""
让代码在某种情况下主动崩溃:
raise 异常类型
"""