Исключения только это.Исключения.Что-то пошло не так, как планировалось.И поэтому способ не может продолжаться, как запланировано.Вместо этого приложение перемещается вверх по стеку вызовов, чтобы найти блок перехвата, который позаботится об исключении.Если блок перехвата не обнаружен, происходит сбой приложения.
MVC получил встроенный атрибут, используемый для обработки ошибок.Это называется [HandleError]
.Но это не позволяет продолжить действие, но не дает ASP.NET отображать желтый экран.
Типичная попытка / отлов в действиях после публикации выглядит следующим образом:
[HttpPost]
public virtual ActionResult Create(YourModel model)
{
if (!ModelState.IsValid)
return View(model);
try
{
var dbEntity = _repository.Get(model.Id);
Mapper.Map(model, dbEntity);
_repository.Save(dbEntity);
return RedirectToAction("Details", new { id = model.Id });
}
catch (Exception ex)
{
ModelState.AddModelError("", ex.Message);
//log error here.
return View(model);
}
}
Вы можетеПодробнее об ошибках в MVC читайте в моем блоге .