0

私のコードには、この署名 (params + 戻り値の型) を持つ多くの関数があり、それらはすべてこの同じtry-catch句を使用しています。

public ActionResult methodName(int id)
{
    try
    {
        //Some specific code here
        return new HttpStatusCodeResult(HttpStatusCode.OK);
    }
    catch (Exception ex)
    {
        return new HttpStatusCodeResult(HttpStatusCode.InternalServerError, ex.Message);
    }
}

さて、これは何度も何度も複製されており、複製が悪いことを知っています。これが発生する理由は、コードで複数を返すことができるようにしたいのですが、HttpStatusCodeResultそれを行うより良い方法がわからないためです。

この例では、内部サーバー エラーと OK の回答を返します。しかし、別の種類のエラーを返したい場合はどうすればよいでしょうか?

public ActionResult methodName(int id)
{
    try
    {
        //Some specific code here
        if(conditionA)
            return return new HttpStatusCodeResult(HttpStatusCode.NotFound, "No Hamsters found!")
        return new HttpStatusCodeResult(HttpStatusCode.OK);
    }
    catch (Exception ex)
    {
        return new HttpStatusCodeResult(HttpStatusCode.InternalServerError, ex.Message);
    }
}

コード内で、レプリケーションなしで動作するモジュラーな方法はありますか? 使用できるデザインまたはアーキテクチャ パターンはありますか? もしそうなら、どれですか?

4

1 に答える 1