タグ

ブックマーク / blogs.wankuma.com (1)

  • 例外をインターセプトすべきか

    ユーザーがログインするときのメソッドを実装してくれ、と依頼されたと考えよう。 メソッド名は LoginUser() だ。 このメソッドは、既に実装済みのデータアクセスメソッドを呼び出す。 データアクセスメソッドは、「データベースに接続できなかった」、「該当データが存在しない」の2つの例外を送出する。 「該当データが存在しない」は例外として扱うべきではない、と思ったので、実装者に文句を言ってやった。データが存在しない事は例外状況でないと。 ひと悶着あったが、結局、広く使われてるので今更変更できないと言われた。 自分はそんな間抜けな実装は絶対にしない。そう誓った。 LoginUser() はどのような例外を送出すべきなのか。 ログイン名が違う、パスワードが違う等は例外として扱いたくないので、戻り値で返すようにしたい。そこで「該当データが存在しない」の例外は catch して、戻り値を fals

  • 1