目的
在程序的指定位置手动抛出一个异常
1 单独一个 raise。该语句引发当前上下文中捕获的异常(比如在 except 块中),或默认引发 RuntimeError 异常
当在没有引发过异常的程序使用无参的 raise 语句时,它默认引发的是 RuntimeError 异常
try:
a = input("输入一个数:")
if(not a.isdigit()):
raise
except RuntimeError as e:
print("引发异常:",repr(e))
>>输入一个数:a
>>引发异常: RuntimeError('No active exception to reraise',)
2 raise 后带一个异常类名称,表示引发执行类型的异常
try:
a = input("输入一个数:")
#判断用户输入的是否为数字
if(not a.isdigit()):
raise ValueError
except ValueError as e:
print("引发异常:",repr(e))
>>输入一个数:a
>>引发异常: ValueError()
3 raise 异常类名称(描述信息):在引发指定类型的异常的同时,附带异常的描述信息
try:
a = input("输入一个数:")
#判断用户输入的是否为数字
if(not a.isdigit()):
raise ValueError("a 必须是数字")
except ValueError as e:
print("引发异常:",repr(e))
>>输入一个数:a
>>引发异常: ValueError('a 必须是数字')