1.异常:
程序错误,程序崩溃,程序中某条语句出现异常,那么从这条语句开始,后面的代码不会执行,程序直接结束
2.异常捕获:
让程序出现异常的时候,出现不崩溃
1)方式一:捕获所有类型的异常
a.语法
try:
代码段1
except:
代码段2
finally:
代码段3
其他语句
b.说明
2)方式二:捕获指定的一个或多个异常,做相同的处理
a.语法
try:
代码段1
except 异常类型:
代码段2
finally:
代码段3
其他语句
try:
代码段1
except (异常类型1,异常类型2):
代码段2
finally:
代码段3
其他语句
b.说明
- 先执行代码段1,如果代码1没有异常,直接执行后面的其他语句;
- 如果代码段1出现异常,如果这个异常的类型和需要捕获的类型一致,程序不崩溃,直接执行代码段2,然后再执行其他语句;
- 如果代码段1出现异常,如果这个异常的类型和需要捕获的类型不一致,程序崩溃
注意:异常类型要求必须是直接或间接继承Exception类的子类
3)方式三:捕获不同类型的异常,并且对不同的异常做不同的处理
try:
代码段1
except 异常类型1:
代码段2
except 异常类型2:
代码段3
except 异常类型3:
代码段4
...
finally:
代码段3
其他语句
3.finally
- finally后面的代码段,不管try中的代码发生了什么,都会执行。
4. 抛出异常
a.语法
raise 异常类型
b.说明:
- raise:关键字
- 异常类型:可以是系统提供的异常类型,也可以自定义异常类型(必须继承Exception)
5.自定义异常类型
写一个类继承Exception,然后重写__str __方法来自定义错误信息。
class WeekValueError(Exception):
def __str__(self):
return '错误'
raise WeekValueError
网友评论