如何救援异常中心和DRY?

dav*_*idb 4 activerecord exception-handling ruby-on-rails ruby-on-rails-3.1

我有一个例外,在约20个单独的地方产生.它可以在每个地方轻松地以同样的方式获救,但这不是干燥和放弃治疗工作!我想在中心位置拯救这个例外.我怎么安排这个?

ActiveRecord::RecordNonUnique顺便说一下例外,......

tho*_*ron 7

那这个呢 ?

def rescue_from_record_non_unique
  yield
rescue ActiveRecord::RecordNonUnique
  # your code
end

# ...

rescue_from_record_non_unique do
  # do something
end
Run Code Online (Sandbox Code Playgroud)