Rails4 自作のエラークラスを作成する

システム独自のエラーを出したかったので、自作のエラークラスを作成することにした。

最初はExceptionクラスを継承しようと思っていたが、Exceptionクラスはシステム関連の例外まで含んでいるので、アプリケーションレベルの例外のトップであるStandardErrorクラスを継承したほうがいいようだ。


modelにmy_error.rbを作成し、下記のように記載する。

class MyError < StandardError; end

今回はエラーの名称を変更したかっただけなので、これで終了だが、独自の処理を追加することもできる。


エラーを発生させるときは、下記のように使う。

raise MyError , "データが存在しません"


参考:
Rubyで自前の例外クラスを作るときExceptionではなくStandardErrorを継承する理由 - yarbの日記