我正试图挽救任务可能发生的错误。我可以毫无问题地解救,但如果我想采取一些行动怎么办?
例如,这很好用:
new_object = Product.find_by_id(412) rescue nil
但是,我想打印一些东西并采取其他行动。那么我怎样才能得到这样的东西:
new_object = Product.find_by_id(412) rescue nil
puts "what happened"
next
end
答案 0 :(得分:2)
使用以下
begin
new_object = Product.find_by_id(412)
rescue
new_object = nil
puts 'what happened'
next
end
答案 1 :(得分:0)
begin
foo = Product.find_by_id!(412)
rescue ActiveRecord::RecordNotFound
logger.warn "Could not find foo"
end