0

我正在尝试运行有时可能会失败的命令。当它失败时,它会抛出一个异常。

我想做的只是安静地记录错误并继续执行它下面的下一行,而不是中止并进入“救援”块。我应该如何处理这个?

我目前的代码如下:

  rescue_from 'Gibbon::MailChimpError' do |exception|
    logger.error("MAILCHIMP: #{exception}")
  end

当我调用 Mailchimp API 时,有时会出现错误,这会中断我的应用程序流程。我只是希望它继续执行,就好像什么都没发生一样,并注意日志中有一个错误。

4

1 回答 1

0

像这样的东西怎么样:

def rescuing(&block)
  begin
    yield
  rescue NameError => e
    puts "(Just rescued: #{e.inspect})"
  end
end

rescuing do
  puts "This is dangerous"
  raise NameError
end

puts "... but I'm still alive"

显然,你必须NameError用你想要保护的异常来替换。

于 2014-03-13T02:50:03.783 回答