【发布时间】:2011-02-06 23:35:28
【问题描述】:
在 Ruby 中,您可以在分配结束时编写 rescue 以捕获可能出现的任何错误。我有一个函数(如下:a_function_that_may_fail),如果不满足某些条件,可以方便地让它抛出错误。以下代码运行良好
post = {}
# Other Hash stuff
post['Caption'] = a_function_that_may_fail rescue nil
但是,如果函数失败,我什至不设置 post['Caption']。
我知道我能做到:
begin
post['Caption'] = a_function_that_may_fail
rescue
end
但这感觉有点过分 - 有没有更简单的解决方案?
【问题讨论】:
-
重写函数并不是一个真正的选项,它是一个 Nokogiri 搜索——本质上,如果有特定的 XML 元素,我想设置“Caption”哈希项,但重要的是,如果不设置它那个 XML 元素不存在。