2016-11-29 43 views
1

我得到ActiveRecord::StatementInvalid: PG::NotNullViolation: ERROR。任何人都可以告诉我如何拯救PG::NotNullViolation如何解救Ruby中的PG :: NotNullViolation错误?

begin 
x.save 
rescue ActiveRecord::StatementInvalid 
puts "I get here" 
end 

但我想拯救确切的错误,我们有办法做到这一点吗?

回答

2

你可以用正则表达式做了错误的消息

begin 
x.save 
rescue ActiveRecord::StatementInvalid => e 
    if e.message =~ /^PG::NotNullViolation/ 
    puts 'Error!!!' 
    end 
    raise 
end 
1

您可能需要重新引发异常,当消息不匹配。否则,没有关于未处理的异常的信息,可能会导致问题。

相关问题