【问题标题】:Rails rescue specific error and send to rollbarRails 救援特定错误并发送到滚动条
【发布时间】:2019-06-04 12:25:28
【问题描述】:

在我的调用方法中,我想使所有优惠失效,但为此,我捕获了两个特定错误(验证和可能的 AASM)并从中解救。两者都应该发送到 Rollbar。

def call
  all_to_expire.each do |offer|
    offer.expire!(actor: self)
  rescue StandardError => e
    Rollbar.error(e)
  end
end

上面的方法好像不行

【问题讨论】:

    标签: ruby-on-rails ruby rollbar


    【解决方案1】:

    我不确定 Ruby 是否理解这种块结构。我将其重写为:

    def call
      all_to_expire.each do |offer|
        begin
          offer.expire!(actor: self)
        rescue AASM::InvalidTransition, ActiveModel::ValidationError => e
          Rollbar.error(e)
        end
      end
    end
    

    【讨论】:

    • 嗯看起来不错,但我认为应该是 ActiveModel::ValidationError 而不是 StandardError (因为我想从验证中拯救出来)还有更多可以跳过 AASM 错误(不知道到底是什么,错误无法移动到新的状态 - 找不到如何移动)。
    • @mr_muscle 我用更精确的错误类型更新了我的答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-08
    • 2022-10-25
    • 2021-11-23
    • 1970-01-01
    • 2011-03-11
    • 1970-01-01
    相关资源
    最近更新 更多