2016-11-29 14 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
あなたは、メッセージが一致しない場合、例外を再提起することがあります

。それ以外の場合は、未処理の例外に関する情報がないため、問題が発生する可能性があります。

関連する問題