我的MVC 5项目中有两个webapi控制器,一个在主域中:
namespace VincConsultancy.Controllers
{
public class QuestionGroupController : ApiController
{
//...
public IEnumerable<SAQQuestionGroup> Get(int id = 0)
{
var groups = (from g in repository.SAQQuestionGroups
where g.RequirementId == id
select g).ToList();
if (groups.Count == 0)
{
string message = string.Format("Groups with Req id = {0} not found", id);
throw new HttpResponseException(
Request.CreateErrorResponse(HttpStatusCode.NotFound, message)
);
}
return groups;
}
}
}
区域中的另一个:
namespace VincConsultancy.Areas.admin.Controllers
{
public class SAQGroupsController : ApiController
{
//...
public IEnumerable<SAQGroup> Get(int id = 0)
{
var groups = (from g in this.dbCnxt.SAQQustnGroups
where g.RequirementId == id
select g).ToList();
if (groups.Count == 0)
{
string message = string.Format("Groups with Req id = {0} not found", id);
throw new HttpResponseException(
Request.CreateErrorResponse(HttpStatusCode.NotFound, message)
);
}
return groups;
}
}
}
在两个控制器中,我通过抛出HttpResponseException返回错误消息。 Visual Studio暂停执行“抛出新的HttpResponseException”#39;只在管理区域的控制器中,说发生了异常但是没有被用户代码处理,但这并不影响功能,我只需要每次都按下继续按钮。然而,它不会发生在另一个控制器上。所以,我想知道是否有一些机制自动处理主域中的异常。 throw-exception行不应该被我的代码捕获,我应该如何摆脱视觉工作室呢?