如何在MVC控制器中向$.ajax报告错误而不抛出异常?

8 浏览
0 Comments

如何在MVC控制器中向$.ajax报告错误而不抛出异常?

我有一个控制器和一个已定义的方法...

[HttpPost]
public ActionResult UpdateUser(UserInformation model){
   // 不要抛出异常
   throw new InvalidOperationException("出错了");
   // 我需要像这样的东西
   return ExecutionError("错误信息");
   // 这应该作为错误接收到我的 $.ajax 在客户端...
}

异常的问题

  1. 对于设备或网络错误(如 SQL 连接错误),我们必须记录异常。
  2. 这些消息对于用户来说就像验证消息,我们不想记录。
  3. 抛出异常也会使事件查看器淹没。

我需要一种简单的方式来向我的 $.ajax 调用报告一些自定义的 http 状态,以便在客户端产生错误,但我不想抛出错误。

更新

我不能改变客户端脚本,因为这样会与其他数据源不一致。

到目前为止,StatusCodeResult 应该可以工作,但是这里是 IIS 导致的问题。无论我设置什么错误消息,尝试了所有答案,我仍然只收到默认消息。

0