Top > 開発ガイド > 規約類 > アプリケーション例外

アプリケーション例外

アプリケーション例外とは、準正常扱いのエラーのこととする。 下記のような局面で発生させる類のエラーである。

  • すでに他ユーザに削除されたスケジュールにアクセスした場合にユーザに「すでにスケジュールが削除されています」と通知する
  • すでに他ユーザによって公開されているニュースをさらに公開承認しようとしたユーザへ「すでに公開されています」と通知をする
  • クライアントサイドのバリデーションでは落としきれない不正入力への通知をする

これらについて以下のように対応すること。

  • 同時削除
    • 他のユーザによってすでに削除されたデータへのアクセスがあった場合には、ActiveRecord::RecordNotFoundを投げると自動的にその旨のエラーダイアログがユーザに通知される。
    • find(id)で見つからない場合、上記例外が発生するため、自動的にエラーダイアログが通知される
    • find(id)以外の方法で削除データへのアクセスがある場合は、個別に判定してActiveRecord::RecordNotFoundをraiseする
  • 独自のアプリケーション例外メッセージ
    • エラーダイアログで独自のメッセージを表示したい場合は、RubricksError::Common::AjaxErrorをraiseする。その際にメッセージを引数に渡す。