多くの場合、カスタム(サイズ)エラーをスローする必要があります。パラメータなどの不一致によりリソースが見つからない場合と同様です。再利用/継承のための既存のRailsエラークラスのリストを取得する
私は、既存のエラーを投げたり、既存のエラーから継承されたエラーをスローすることを好みます。そのようにして、私はすでに定義されていて、完全に(DRY)使用されている可能性のあるErrorクラスを導入しません。しかし、元のエラーとの違いを明確にするために、継承して単純に言葉を2つ変更するだけで、言い回しとスタイルを同じに保つこともできます。例えば
:
Foo.new
Foo.some_external_id = nil
Foo.fetch_external_resource
# => InvalidOptions: Calling Foo#fetch_external_resource with nil is invalid
私はこのようなエラーがすでに定義されているかなり確信しています。実際には、コードの多くの行を読んだ後、私は私のMongoIDドライバがMongoid::Errors::InvalidOptions: Calling Document#find with nil is invalid
であることを発見しました。
のRuby on RailsのコアとRubyで利用可能なエラー・クラスのリストはありますか?あなたの現在のプロジェクトにそのようなリストを取得する方法はありますか?
はを再利用および/または既存のエラーを継承するすべてで、それはスマートです、または私は自分自身を維持する必要があり、カスタムの代わりに設定されていますか?
これは網羅的ではないかもしれませんが、私にとっては今のところ十分です。どうもありがとう。リストにリンクしてくれてありがとう。 – berkes