APIが特定の例外を常に処理するようにすることは可能ですか?すべての単一のメソッドで、DbEntityValidationExceptionsとValidationExceptionsをキャッチしています。すべてのメソッドは、これらのキャッチを同じ方法で実装します。これらのエラーのいずれかがスローされたときにAPIまたはプロジェクトが使用できるルートを委任する方法はありますか?
すべてのメソッドがどのように見えるかの例を次に示します(これも具体的にはAPIControllerです)。
try
{
//Do something
}
catch(ValidationException ex)
{
var errors = ErrorsAdd(new[] { ex.ValidationResult });
throw new HttpResponseException(Request.CreateResponse(HttpStatusCode.NotFound, errors, _format));
}
catch (DbEntityValidationException ex)
{
var errors = ErrorsAdd(ex.EntityValidationErrors);
throw new HttpResponseException(Request.CreateResponse(HttpStatusCode.NotFound, errors, _format));
}