ブックマーク / blog.kymmt.com (1)

  • できるだけコントローラではなくモデルで例外処理する - kymmt

    問題: コントローラで例外処理している アプリケーションが扱うドメイン特有のエラーを例外として表現する場合に、その例外をコントローラで処理するコードを書くと、ほとんどの場合でコードが読みにくくなったり、コードを変更しづらくなったりする結果となる。そして、開発の効率が落ちたり不具合を作りやすくなったりする。 具体的な問題は次のとおり。 コントローラのアクションの凝集度が下がる コントローラのアクションに、たとえば複数の決済方法のエラーのような微妙に異なる種類の例外に対する処理を書くと、コントローラが肥大化し、凝集度が下がる。結果として、エラーが関わる変更を入れるときに、来ビジネスロジックだけの変更であっても、コントローラとモデルの両方を必ず変更しなければならなくなる。また、関係の薄いさまざまな例外が1箇所で処理されることになり、コードが読みにくくなる。 class ChargesContr

    できるだけコントローラではなくモデルで例外処理する - kymmt
    kiryuanzu
    kiryuanzu 2024/04/19
    “rescue”
  • 1