python返回状态码和错误信息_python – 如何返回值并引发异常

这个try / except语句有两个目标.

>如果没有问题,则需要返回值1,如果发生任何问题,则返回0.

>它需要引发异常并结束脚本.

我有返回值工作.我也有SystemExit()工作.但是在一起,他们没有工作.

我的Python脚本(相关):

except IOError:

value_to_return = 0

return value_to_return

raise SystemExit("FOOBAR")

有了它,它完全忽略了提升SystemExit(“FOOBAR”)行.如何获取返回值并仍然提升SystemExit(“FOOBAR”)?对某些人来说这可能是基本的,但实际上我遇到了很多困难.

解决方法:

回归和提高是相互排斥的.

提升SystemExit将结束脚本.一些清理例程可以运行,如果调用者确实想要,他们可以捕获SystemExit并取消它,但大多数情况下,你可以把它想象为停止执行.调用者永远不会有机会看到返回值或做任何有意义的事情.

返回意味着您希望脚本继续.继续可能意味着让调用者提升SystemExit,或者它可能意味着忽略错误,或者它可能意味着其他东西.无论它意味着什么取决于你,因为你是编写代码的人.

最后,你确定你应该处理这个错误吗?仅捕获异常以将其变为系统关闭可能不是最有用的行为.它不是一种用户友好的方法来处理问题,它隐藏了从堆栈跟踪中获得的所有有用的调试信息.

标签:python,exception,return,exception-handling,systemexit

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值