【发布时间】:2016-10-27 18:37:43
【问题描述】:
您能否阐明 Web API 错误管理的最佳实践。实际上,我不知道在我的 Api 请求中使用 try catch 是否是一个好习惯。
public Vb.Order PostOrderItem(Vb.Order order)
{
if (OAuth.isValid(Request.Headers.GetValues("Token").Single()) != true)
{
HttpResponseMessage httpResponseMessage = new HttpResponseMessage(HttpStatusCode.Unauthorized);
throw new HttpResponseException(httpResponseMessage);
}
if (!ModelState.IsValid)
{
HttpResponseMessage httpResponseMessage = new HttpResponseMessage(HttpStatusCode.BadRequest);
throw new HttpResponseException(httpResponseMessage);
}
try
{
return Vb.Document.Generate(order);
}
catch (Exception ex)
{
logger.Error(ex);
HttpResponseMessage httpResponseMessage = new HttpResponseMessage(HttpStatusCode.BadRequest);
httpResponseMessage.Content = new StringContent(ex.Message);
throw new HttpResponseException(httpResponseMessage);
}
}
我觉得对服务器端代码使用 try catch 不是一个好习惯,因为我只是记录我的 catch 并重新抛出异常。
【问题讨论】:
标签: c# asp.net asp.net-web-api exception-handling