Следующая функция может возвращать значение null
, поэтому я хочу использовать поток исключений. Может ли кто-нибудь направить меня на правильный способ сделать это, потому что сейчас я получаю ошибку.ruby raise exception on iterator
синтаксическая ошибка, неожиданный keyword_else, ожидая keyword_end еще
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]'. См. http://phrogz.net/programmingruby/tut_exceptions.html – sschmeck
Почему бы просто не возвращать перечислимый объект (то есть объект, который отвечает каждому), тогда нет никаких проблем. Также прямо сейчас, если есть несколько строк, вы получите только первый, который кажется неправильным, но я не уверен, что вы пытаетесь сделать. – engineersmnky