异常处理
一、异常种类
二、多分支处理:try后跟多个except
三、万能异常类型:Execption,匹配所有异常
四、try……except……else……finally
五、主动触发异常
六、自定义异常
一、异常种类:
nameerror:未定义
vauleerror:值
typeerror:类型
indexerror:索引
keyerror:字典
syntaxerror:语法
AttributeError:属性
二、多分支处理:try后跟多个except
try:
print('hello')
a = 'x' + 2 #TypeError
print(m) #NameError
print('hi')
except NameError as n: #异常类型:NameError、异常的值:n
print(n)
except TypeError as t:
print(t)
三、万能异常类型:
Execption,匹配所有异常
四、try……except……else……finally
try:
print('hello')
except Exception as e:
print(e)
else:
print('try内代码没有异常执行')
finally:
print('无论异常与否,都会执行该模块,通常是进行清理')
else 表示 try内代码没有异常执行
funally 表示 无论异常与否,都会执行该模块,通常是进行清理工作,例如:关闭数据库,关闭ssh链接等
五、主动触发异常
raise TypeError('错误类型')
六、自定义异常
通过继承BaseException来自定义自己的异常
七、断言
assert表达式不满足,抛出AssertionError
a = 1
b = 2
assert a == b #抛出AssertionError