【发布时间】:2015-07-28 20:20:43
【问题描述】:
以下函数可能返回一个null 值,因此我想使用异常流。有人可以指导我正确的方法吗,因为现在我遇到了错误。
语法错误,意外的keyword_else,期待keyword_end else
def value_from_table1(field, key)
begin
@@connection.query("SELECT #{field} FROM table1 Where key = #{key} ").each do |row|
rescue Exception=>e
puts e
else
return row[field]
end
end
end
【问题讨论】:
-
你应该转义你的查询参数。
-
如果您采用错误流程,您应该包装
row[field]表达式。参见例如phrogz.net/programmingruby/tut_exceptions.html -
为什么不只是确保返回一个可枚举对象(即响应每个对象的对象),那么就不用担心了。同样,现在如果有多行,您只会得到第一行,这似乎也是错误的,但我不确定您要做什么。
标签: ruby-on-rails ruby exception-handling nullpointerexception rubygems