下面是上下文一些基本代码
require 'pg'
conn = PG.connect(db_params)
# example query:
response = conn.exec("update employees set id = 0 where role = 'owner'")
puts response
每当我试图打印一个不是select语句的语句的响应时,我都会得到在执行查询时创建的Result对象的地址,正如前面的代码所示。
有没有办法知道查询是否失败?
我去了'pg' gem文档,它只提到了执行select语句,这对我的情况没有帮助。
1条答案
按热度按时间zazmityj1#
PG::Connection#exec
的文档说:将SQL指定的SQL查询请求发送到PostgreSQL。成功后,它返回一个PG::Result示例,其中包含所有结果行和列。失败时,将引发PG::Error。
因此,如果查询失败,它将引发
PG::Error
类型的异常。你可以使用一个begin ... rescue
块来捕获它: