gpt4 book ai didi

ruby-on-rails - 我是否滥用 "rescue"进行零检查?

转载 作者:数据小太阳 更新时间:2023-10-29 06:49:36 24 4
gpt4 key购买 nike

我对所有事情都使用rescue,而不仅仅是“拯救”异常。我的意思是,我只是喜欢它省去验证和双重检查数据的方式。

例如,假设我有一个模型 Item,它可能有也可能没有 User。然后,当我想获得我写的元素的所有者姓名时:

item.user.name rescue ""

而不是类似的东西

item.user.nil? ? "" : item.user.name

它产生了同样的想法,因为 nil.name 触发了我用 "" 挽救的异常,但我不太确定这是一个好习惯。它实现了我想要的,并且用更少的代码实现了,但是...我不知道,到处都是 rescue 字眼让我感到不安全。

这是一种不好的做法还是滥用 rescue 关键字是否有效?

最佳答案

我认为您有点滥用 rescue,尽管在 Rails 中,有针对这些问题的特定方法:tryDocumentation

在您的情况下,item.user.try(:name) 可能是更好的方法。

关于ruby-on-rails - 我是否滥用 "rescue"进行零检查?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3737752/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com