(Ruby mysql2)如何设置它,使失败的DB查询只被记录下来,而不';我们不能结束节目吗?
我正在使用(Ruby mysql2)如何设置它,使失败的DB查询只被记录下来,而不';我们不能结束节目吗?,ruby,Ruby,我正在使用mysql2gem编写一个Ruby程序。该程序迭代大量数据集,并使用mysql2.query方法进行大量单独的数据库查询。有时,其中一个会失败(通常是因为它是前一行的副本),从而结束程序 我想对此进行更改,以便在查询失败时,将信息记录到日志文件中,跳过查询,程序继续运行。但我不知道我该怎么做这样的事情。有人能告诉我从哪里开始阅读,或者我应该做什么吗?将可能引发错误的代码放入开始。。。拯救。。。结束块: begin # code that might throw the databa
mysql2
gem编写一个Ruby程序。该程序迭代大量数据集,并使用mysql2.query
方法进行大量单独的数据库查询。有时,其中一个会失败(通常是因为它是前一行的副本),从而结束程序
我想对此进行更改,以便在查询失败时,将信息记录到日志文件中,跳过查询,程序继续运行。但我不知道我该怎么做这样的事情。有人能告诉我从哪里开始阅读,或者我应该做什么吗?将可能引发错误的代码放入
开始。。。拯救。。。结束
块:
begin
# code that might throw the database error
rescue ActiveRecord::StatementInvalid => e
puts "An error occurred: #{e.message}"
end
不是说
ActiveRecord::StatementInvalid
只会导致无效查询(如重复条目),而不会导致其他错误,如数据库连接中断时。最好只捕获您想要处理的最具体的错误,而不是所有可能的错误。要处理异常,请使用begin。。营救。。结束
非常感谢您的建议。异常处理还不是我学过的东西(完全是初学者),现在我知道下一步该学什么了。谢谢。