python中的try函数_如何在python中用try和excep捕捉函数失败

通常,您将阅读create_apple()的文档,以了解它可以引发哪些异常,并捕捉这些异常。在

不过,与Java不同,Python函数不需要声明所有可能引发的异常,因此任何函数都可以引发许多不同的异常。在

你最好的选择可能是在结尾处出现某种笼统的情况:try:

create_apple(x,y,z)

except NoTreeFound:

print 'could not find an apple tree'

except BasketFull:

print 'apple basket is already full of apples'

except Winter:

print 'Cannot create apples in winter!'

except Exception as e:

print 'an unknown error occurred, message is: %s' % str(e)

更新

看来您是在寻找关于函数应该如何引发异常的建议,而不是调用方应该如何捕捉异常。在

如果您的函数可能以几种不同的方式失败,那么为每个失败条件定义特定的异常对调用者来说是很方便的,因为它可以轻松地分别处理每个失败条件(如我在上面的示例中所示)

但是,如果您的函数真的只能以一种方式失败,在某些情况下细节可能略有不同,那么最好的做法可能是使用特定的消息引发一个通用异常:

^{pr2}$

最后这是一个设计决定。两种方法都有效。在

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值