异常
异常 | 异常是指程序出错时标识的一种状态,当异常发生时,程序不会再向下执行,而转去调用的地方,待处理此错误并恢复为正常状态 |
---|---|
作用 | 用作信号,通知上层调用者有错误产生需要处理 |
处理异常的方法:
-
try:try语句用来处理异常
用法:try: 可能触发异常的语法 except 错误类型 | [as 变量 1] : 异常处理语句 else: 未发生异常时的语句 finally: 最终语句,无论是否发生异常均运行
作用:尝试捕获异常(接收异常通知),将程序转为正常状态并继续执行
语法说明:
as 子句是用于绑定错误对象的变量,可省略
except子句可以有一个或多个,但至少一个
else子句最多一个,可省略
finally子句最多一个,可省略 -
raise语句:
作用:触发一个错误,让程序进入异常状态,发送错误来通知调用者 -
assert语句(断言语句)
语法:
assert真值表达式,错误数据(通常是字符串)
作用:
当真值表达式为False时,用错误数据创建一个AssertionError类型的错误,由raise出去,并进入异常状态,等同于:
if 真值表达式 == False:
raise AssertionError(数据错误)
为什么要用异常处理机制:
在程序调用层数较深时,向主调函数传递错误信息,需要层层ruturn,返回比较麻烦,所以用异常处理机制。