2013-02-25 83 views
0

我試圖從任務可能發生的故障中拯救。我可以從零救援沒有問題,但如果我想採取一些行動呢?在Rails中使用救援工作

例如,這工作得很好:

new_object = Product.find_by_id(412) rescue nil 

不過,我想打印的東西,並採取其他操作。所以,我怎麼會得到這樣的工作:

new_object = Product.find_by_id(412) rescue nil 
             puts "what happened" 
             next 
            end 

回答

2

使用以下

begin 
    new_object = Product.find_by_id(412) 
rescue 
    new_object = nil 
    puts 'what happened' 
    next 
end 
0
begin 
    foo = Product.find_by_id!(412) 
rescue ActiveRecord::RecordNotFound 
    logger.warn "Could not find foo" 
end