异常机制
异常类的结构
python的异常是由类定义的,所有的异常都来自着BaseException类,不同类型的异常都继承自父类BaseException,具体的结构如图:
python的异常类
异常捕获
try
用于监测程序代码是否出现异常,监测的代码可以是程序的全部代码或则程序的部分代码
except
用于捕捉异常信息并对异常进行处理,若关键词后面设置异常类型,在捕捉过程中根据异常类型而选择相应的except
else
如果关键词try的代码里面没有出现异常,程序会执行此关键词里面的代码
finally
不管关键词try有没有出现异常,当关键词try、except或else的代码执行完成后,最总程序会自动执行此关键词里面的代码
示例:
def main():
try:
print("正常执行")
time.sleep(10)
except Exception as err:
print("报错了:",err)
else:
print("没报错运行")
finally:
print("不管报错没都运行")
for i in range(10):
print(i)
结果:
自定义异常
示例:
try:
raise NameError("自定义异常抛出")
except Exception as err:
print("这是Exception错误:",err)
结果: