Python 异常捕获

一、异常捕获(红色字体代表每种异常捕获的格式)

1、try..except...
try:
不确定是否正确执行的代码
except:
出现异常后的处理
a. try:下方的块语句,如果遇到异常,就马上停止执行,接着执行except中的块语句
b. try中如果不抛出异常,那try下面的块语句会实行完,而except中的块语句不会执行
c. 不建议使用这个语句捕获异常,因为可能会忽略掉很严重的异常信息
2、try...except...except...
try:
不确定是否正确执行的代码
except +异常类型:
捕获特定的异常
except:
捕获除了前面中指定的异常类型外的所有异常
a. except +异常类型:捕获指定的异常类型的异常
如:except FileNotFoundError:捕获指定的这个类型的异常
b. except + 异常类型,可以添加多个异常,用逗号隔开,所添加的异常类型用括号括起来,如:except(异常类型1,异常类型2):
c. except:捕获除了上面指定的异常类型外的所有异常
d. except +异常类型 和 except 模块有且仅有一个模块会执行
3、try...except...
except Exception...
try:
不确定是否正确执行的代码
except +异常类型:
捕获特定的异常
except Exception:
捕获除了前面中指定的异常类型外的所有异常
a. except Exception:以类的形式捕获异常,也是可以捕获所有的异常
b. except Exception as e:将捕获的异常信息放到e中
4、try...except...
except Exception...
else....
try:
不确定是否正确执行的代码
except +异常类型:
捕获特定的异常
except Exception:
捕获除了前面中指定的异常类型外的所有异常
else:
块语句
a. 如果try的块语句不抛出异常,那么else块语句会执行
b. 如果try的块语句抛出异常,那么会执行except或者except Exception 中的块语句,而else块语句不会执行
5、try...except...
except Exception...
else....
finally...
try:
不确定是否正确执行的代码
except +异常类型:
捕获特定的异常
except Exception:
捕获除了前面中指定的异常类型外的所有异常
else:
块语句
finally:
块语句
a. else 和finally 模块可有可无,但是如果有,必须放在最后
b. finally是不管try的块语句是否有异常,都会执行
6、 raise 自己抛出异常
try:
不确定是否正确执行的代码
except +异常类型:
捕获特定的异常
raise + 内容
except Exception:
捕获除了前面中指定的异常类型外的所有异常
else:
块语句
finally:
块语句
a. try 抛出异常后,如果异常被except+异常类型模块捕获,可以通过raise关键字抛出另外的异常内容

猜你喜欢

转载自www.cnblogs.com/liu-py-2019/p/12687460.html
今日推荐