Могу ли я вернуть пользовательскую ошибку из JsonResult в метод jjuery ajax error?

Как я могу передать пользовательскую информацию об ошибках из ASP.NET MVC3JsonResult метод кerror (или жеsuccess или жеcompleteпри необходимости) функцияjQuery.ajax()? В идеале я хотел бы иметь возможность:

Все равно сгенерируйте ошибку на сервере (это используется для регистрации)Получить пользовательскую информацию об ошибке на клиенте

Вот основная версия моего кода:

Метод контроллера JsonResult
public JsonResult DoStuff(string argString)
{
    string errorInfo = "";

    try
    {
        DoOtherStuff(argString);
    }
    catch(Exception e)
    {
        errorInfo = "Failed to call DoOtherStuff()";
        //Edit HTTP Response here to include 'errorInfo' ?
        throw e;
    }

    return Json(true);
}
JavaScript
$.ajax({
    type: "POST",
    url: "../MyController/DoStuff",
    data: {argString: "arg string"},
    dataType: "json",
    traditional: true,
    success: function(data, statusCode, xhr){
        if (data === true)
            //Success handling
        else
            //Error handling here? But error still needs to be thrown on server...
    },
    error: function(xhr, errorType, exception) {
        //Here 'exception' is 'Internal Server Error'
        //Haven't had luck editing the Response on the server to pass something here
    }
});

Вещи, которые я пробовал (это не сработало):

Возврат информации об ошибке изcatch блокЭто работает, но исключение не может быть брошеноРедактирование HTTP-ответа вcatch блокПотом осмотрелxhr в обработчике ошибок jQueryxhr.getResponseHeader()и т. д. содержал страницу об ошибке ASP.NET по умолчанию, но ни одна из моих данныхЯ думаю, что это возможно, но я просто сделал это неправильно?

Ответы на вопрос(4)

Ваш ответ на вопрос