Python 中用于引发异常的 raise

目的

在程序的指定位置手动抛出一个异常

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 必须是数字')

你可能感兴趣的:(Python,基础,python)