python raise用法

raise的应用场景:

是否可以在程序的指定位置手动抛出一个异常?
答案是肯定的,Python 允许我们在程序中手动设置异常,使用 raise 语句即可。

你可能会疑惑,从来都是想方设法地让程序正常运行,怎么还要手动设置异常呢?
首先要分清楚程序发生异常和程序执行错误,它们完全是两码事:程序由于错误导致的运行异常,是需要程序员想办法解决的;但还有一些异常,是程序正常运行的结果,比如用 raise 手动引发的异常。

raise的基本语法结构raise exceptionName [(reason)]
exceptionName :异常名称,须是定义好的错误类型,或本身存在的错误类型;
reason:异常描述;
其中,用 [] 括起来的为可选参数,如果可选参数全部省略,则 raise 会把当前错误原样抛出;如果仅省略 (reason),则在抛出异常时,将不附带任何的异常描述信息。

建议使用方式:

# 方式一
raise IOError
# 方式是二
raise TypeError('输入参数类型错误')

应用示例:

我们手动让程序引发异常,并不是为了让其崩溃。事实上,raise 语句引发的异常通常用 try except(else finally)异常处理结构来捕获并进行处理。

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

print("输错了,异常发生,本程序也没有崩溃,正常运行到结束!!!")

在这里插入图片描述


参考文章:

1.python raise超详细

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

柏常青

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值