出现异常(错误)不想让程序崩溃,就可以进行异常捕获
try:
需要捕获异常的代码
except:
出现异常会执行的代码 #所有的异常都会执行这段代码
try:
需要捕获异常的代码
except 错误类型:
捕获到指定的错误类型,才执行的代码
try--except执行过程:先执行try后面的代码块,只要出现异常就使用except去捕获,如果能捕获到,就直接进入except中执行里面的代码块,执行完成后,在执行后面的其他语句。如果捕获不到,就直接报错。如果try后面的代码块中,没有异常。那么执行完代码块中的内容直接执行后面的其他语句
想要同时捕获多个异常: except(错误类型1,错误类型2....):
try:
代码块1
except:
代码块2
finally:
代码块3
try:
代码块1
except 错误类型1:
代码块2
except 错误类型2:
代码块3
代码块3是在代码块1中没有出现异常,和代码1中出现异常被获取到都会执行
raise: 抛出异常
总结:1.异常捕获不是什么都要用,只有在程序员清楚会出现异常,并且想要自己来处理异常,而不是让程序崩溃的情况才异常捕获。
2.使用异常捕获的时候,不能让except直接捕获所有的异常,而是捕获特定异常
例子:读取文件时,若不存在文件会报错
try:
with open('./aaaa.txt') as ff:
print('打开成功')
except FileNotFoundError: #异常类型:未找到文件
print('===')
open('./aaa.txt','w')