はじめに
タイトル通り。
ActiveRecordってupdate!とかcreate!とかで例外投げられるのは良いものの
じゃあ例外補足する時って
ActiveRecord::RecordNot~~とか色々書いて、横に長くなるのが欠点。
もちろん、例外ごとにきちんと分けるべきなんだろうけど、
特にそんなの求めてないよっていう人はこれが役に立つと思う。
結論
ActiveRecord::ActiveRecordErrorで例外を補足するようにする。
例えば
ActiveRecord::Base.transaction do end rescue ActiveRecord::ActiveRecordError =>e rescue => e end
みたいにすればやばいエラーは下に、dbの操作に伴う例外は真ん中で補足するようにしてくれる。
終わりに
ちなみになんでActiveRecord::ActiveRecordErrorなのかというと
ActiveRecord::RecordInvalid.ancestors
で出てきたから。
大雑把すぎ、と指摘あるかもしれないが、指摘されたら治すことにしよう。