异常组成
-
异常类型:异常的错误描述信息
捕获异常 -
捕获所有异常
try:
可能发生异常的代码
except:
发生异常执行的代码 -
捕获单个异常: try:
可能发生异常的代码
except 异常类型:
发生异常执行的代码 -
捕获多个异常: try: 对指定类型异常 做统一处理
可能发生异常的代码
except (异常类型1, 异常类型2, …) as e:
发生异常执行的代码
不同处理为: try:
可能发生异常的代码
except 异常类型1 as e:
发生异常执行的代码
except 异常类型2 as e:
发生异常执行的代码 -
完整结构:: try:
可能发生异常的代码
except Exception as e:
发生异常执行的代码
print(e)
else:
没有发生异常执行的代码
finally:
是否异常都执行的代码 -
异常传递:程序代码发生异常,如果当前没有捕获异常,异常会向外层传递,直到最外层,如果没有进行捕获,会报错,如果中间进行捕获,就不会传递
-
抛出自定义异常:在合适时机,抛出自定义错误,让代码报错
步骤:
1. 自定义异常类 继承Exception(BaseException)类
2. 书写__str__方法
3. 在可能出错地方,使用 raise关键字抛出异常