所谓抛出异常, 就是程序向外抛出一个错误, 如果错误没有被捕获到, 程序就会报错。
实际上程序内部是使用raise关键字, 向外抛出一个异常的。
如果我们有一些特殊的需求, 例如当出现某种状况时, 就让程序报错.这个时候我们也可以使用raise关键字主动向外抛出异常。
举例:
这里我们模拟一个骰子的小程序, 我们知道骰子的点数是从1-6点。
假设我们会从程序上游接收到一个骰子点数的变量, 如果点数范围不在1-6点,那么这个骰子程序就是出现错误了, 我们就让程序主动抛出ValueError。
注意这个程序不会每次都出错, 当随机出的点数不是1-6时, 程序就会抛出一个我们规定的ValueError, 报错信息就是我们在ValueError中填入的内容。
import random
num = random.randint(-6, 10) # 生成一个1-10点的随机数
print(num)
if 1<=num <= 6:
print('您摇出的骰子是', num)
else:
raise ValueError('您输入的骰子点数是无效的')
输出:
-1
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-105-0cb8af98d791> in <module>
6
7 else:
----> 8 raise ValueError('您输入的骰子点数是无效的')
ValueError: 您输入的骰子点数是无效的
请根据下面的要求在右侧代码框编写代码:
定义一个函数, 函数有参数:姓名、高考分数, 高考分数合理区间是0-750分, 如果用户输入的分数在合理范围之内, 则输出用户的姓名和总分, 并输出恭喜您成绩录入成功!
如果分数不合理, 就报一个ValueError, 错误信息是"您的分数不在合理范围之内"
最后调用这个函数执行。