2

我有一个迭代,我在其中set_table_name需要一些模型。这个想法是,在每次迭代中,模型都会改变它的表。有时,表不存在,在这种情况下,会发生这种错误:

Mysql2::Error: Table 'db_name.table_name_xyz' doesn't exist

我希望迭代继续运行而不是因为错误而中止。我已经用and包裹了这set_table_name行代码,但似乎没有引发异常,因为脚本在错误时立即中止(它不执行代码)。这是代码:beginrescuerescue

((start_year)..(start_actual_year)).each do |year|
      begin
        Data.set_table_name("Secciones#{year}#{year + 1}")
      rescue Exception => e
        next
      end
end

我可以挽救这种错误吗?我应该怎么办?谢谢!

4

1 回答 1

0

你确定你正确地捕捉到了异常吗?如果需要,这里有更多信息。

begin
  # Your code here.
rescue Exception => e
  # Output the exception that it is catching.
  puts e.message
ensure
  # The ensure block is used to close a db connection if needed.
end
于 2012-07-31T21:10:49.580 回答