私のコードには、この署名 (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);
}
}
コード内で、レプリケーションなしで動作するモジュラーな方法はありますか? 使用できるデザインまたはアーキテクチャ パターンはありますか? もしそうなら、どれですか?