Tengo errores personalizados activados en webconfig y redirigiendo a "/ Error/Problema". Esto está funcionando según lo diseñado. Elmah está registrando el error. La vista de error también se muestra.asp.net mvc 3 obtener excepción lanzada
El problema es que quiero inspeccionar el error lanzado en la acción Problema de mi controlador de errores. Cuando se produce un error, ¿cómo se accede a él después de que MVC lo haya redireccionado al controlador de error personalizado?
estoy lanzando una excepción si CurrentUser es nulo:
if (CurrentUser == null)
{
var message = String.Format("{0} is not known. Please contact your administrator.", context.HttpContext.User.Identity.Name);
throw new Exception(message, new Exception("Inner Exception"));
}
Quiero ser capaz de acceder a este en mi controlador de errores personalizado ("Error/Trouble"). ¿Cómo accedes a la excepción?
Aquí está mi acción problemas:
public ActionResult Trouble()
{
return View("Error");
}
Aquí es mi opinión:
@model System.Web.Mvc.HandleErrorInfo
<h2>
Sorry, an error occurred while processing your request.
</h2>
@if (Model != null)
{
<p>@Model.Exception.Message</p>
<p>@Model.Exception.GetType().Name<br />
thrown in @Model.ControllerName @Model.ActionName</p>
<p>Error Details:</p>
<p>@Model.Exception.Message</p>
}
System.Web.Mvc.HandleErrorInfo es el modelo para mi punto de vista y problemas que está vacío. Gracias por tu ayuda.
¿Quieres verlo mientras estás depurando? – mattytommo
no durante la depuración. Quiero que la acción de Problema inspeccione el error arrojado y recupere el mensaje de error para mostrar al usuario final –