您当前的位置: 首页 >  Python

IT之一小佬

暂无认证

  • 1浏览

    0关注

    1192博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

python中raise方法用法详解

IT之一小佬 发布时间:2022-07-18 23:53:53 ,浏览量:1

python允许我们在程序中手动设置异常,使用 raise 语句即可。

raise 语句的基本语法格式为:

raise [exceptionName [(reason)]]

        其中,用 [] 括起来的为可选参数,其作用是指定抛出的异常名称,以及异常信息的相关描述。如果可选参数全部省略,则 raise 会把当前错误原样抛出;如果仅省略 (reason),则在抛出异常时,将不附带任何的异常描述信息。

raise 语句引发的异常通常用 try except(else finally)异常处理结构来捕获并进行处理。

示例代码1:

try:
    a = input("输入一个数:")
    # 判断用户输入的是否为数字
    if (not a.isdigit()):
        raise ValueError("a 必须是数字")
except ValueError as e:
    print("引发异常:", repr(e))
    print("引发异常:", str(e))

运行结果:

注意:  raise 抛出的异常会被 try 捕获,并由 except 块进行处理。

更多关于repr()用法详见博文:python中repr()函数用法详解_IT之一小佬的博客-CSDN博客

示例代码2:

try:
    a = input("输入一个数:")
    if (not a.isdigit()):
        raise ValueError("a 必须是数字")
except ValueError as e:
    print("引发异常:", repr(e))
    raise

运行结果:

 注意:这里重点关注位于 except 块中的 raise,由于在其之前我们已经手动引发了 ValueError 异常,因此这里当再使用 raise 语句时,它会再次引发一次。

示例代码3:

try:
    a = input("输入一个数:")
    if (not a.isdigit()):
        raise
except RuntimeError as e:
    print("引发异常:", repr(e))

运行结果:

注意:当在没有引发过异常的程序使用无参的 raise 语句时,它默认引发的是 RuntimeError 异常。

关注
打赏
1665675218
查看更多评论
立即登录/注册

微信扫码登录

0.0404s