【发布时间】:2026-01-30 17:10:01
【问题描述】:
当我提交新条目时,我在控制器中使用以下代码:
// POST /api/Content/
public HttpResponseMessage PostContent(Content content)
{
try
{
content.ModifiedDate = DateTime.Now;
_uow.Contents.Add(content);
_uow.Commit();
var response = Request.CreateResponse<Content>(HttpStatusCode.Created, content);
return response;
}
catch (DbUpdateException ex)
{
return Request.CreateErrorResponse(HttpStatusCode.Conflict, ex);
}
}
这只会获取 DbUpdateExceptions,所以如果有另一种异常,那么我认为我需要以不同的方式处理它。
谁能建议我应该如何处理其他异常?
【问题讨论】:
-
尝试分离您的层,以便您的 DataAccess 层可以捕获它自己的错误,记录它们并向调用者抛出一个友好的消息或更一般的异常。从那里您可以捕获该错误并按照您的选择进行操作。
-
谁能建议我应该如何处理其他异常? 处理那些你可以有意义的异常(例如
DbUpdateException),否则为 MVC 处理 use theHandleErrorAttribute。
标签: sql-server asp.net-mvc entity-framework