今天学习下手动抛出异常,有人可能奇怪写程序就为了正常运行,为何还要手动抛出异常呢?这要在实际项目中根据业务需求来,如果程序本身运行是没问题的,但是某个环节不符合业务需求(比如账户的存款额不够给员工发工资了),那么你就可以手动抛出异常。raise语句可以手动抛出异常,raise有3种用法。
1、单独一个 raise。
2、raise + 异常类名称:raise后带一个异常类名称。
3、raise +异常类名称 + (异常描述)。引发异常的同时增加异常的描述信息,该描述信息可以在except语句块中通过as e语句来输出。
我们是为了学习手动抛异常这个知识点,暂时不要纠结应用场景,下面用代码分别演示每种用法
1、单独一个 raise。
# -*- coding: utf-8 -*-
try:
n = 2
if n == 2:
print("yse")
raise # 告诉系统收到异常信号
print('python66') # 在raise后面的语句不再执行。
except Exception:
print("有异常出现哦")
yes
有异常出现哦
2、raise 异常类名称。
# -*- coding: utf-8 -*-
try:
n = 2
if n == 2:
print("yes")
raise NameError # 选一个异常类名
print('python66') # 在raise后面的语句不再执行。
except Exception:
print("有异常出现哦")
yes
有异常出现哦
3、raise 异常类名称(异常描述)
# -*- coding: utf-8 -*-
try:
n = 2
if n == 2:
print("yes")
raise NameError('我在测试raise') # 告诉系统受到异常信号
print('python66') # 在raise后面的语句不再执行。
except Exception as e:
print("有异常出现哦",e)
yes
有异常出现哦 我在测试raise