异常处理
一 错误分类
- 语法错误
- 逻辑错误
二 异常处理
1. 什么是异常
异常之后代码就不执行了
2. 如何处理异常
-
if 判断式
-
try
语法:
try: 被检测的代码块 except 异常类型: try中一旦检测到异常,就执行这个位置的逻辑
3. 提高用户的体验性,增强代码的健壮性和容错性
4. 多分支
5. 万能异常: Exception
如果不关心错误信息,只是想要排除错误让程序继续运行,用哪个万能异常
如果要对错误信息进行明确的分流,让程序多元化开发,用多分支
6. try else finally
except 必须依赖于 try, else 必须依赖于 except 和 try
finally 只依赖于 try
finally: 在异常出现之 前执行finally语句. 在return结束函数之前,执行finally代码, 在break之前也会执行finally
用在关闭数据库连接,文件句柄关闭,数据保存等
7. 主动触发异常
raise ValueError
8. 断言: 展现出一种强硬的态度
name = '海狗'
n1 = input('>>>')
assert name == n1 # assert后面加条件,条件成立执行后面的代码,不成立则不执行后面的代码并报错 AssertionError
print(111)
9. 自定义异常
class EvaException(BaseException):
def __init__(self,msg):
self.msg = msg
def __str__(self):
return self.msg
try:
raise EvaException('类型错误')
except EvaException as e:
print(e)