Came across this scenario where we have to redirect for all un-handled exceptions to user diplaying the StackTrace, Exception message and other details.
Global.asax
Global.asax
protected void Application_Error(object sender, EventArgs e)
{
Exception exception = Server.GetLastError();
Response.Clear();
RouteData routeData = new RouteData();
// Routing to ~/Error/Error
routeData.Values.Add("controller", "Error");
routeData.Values.Add("action", "Error");
routeData.Values.Add("error", exception);
// clear error on server, not to display yellow error screen
Server.ClearError();
IController home = new TWC.IssueTrak.Mobile.Controllers.HomeController();
home.Execute(new RequestContext(new HttpContextWrapper(Context), routeData));
}
ErrorController
public ActionResult Error(Exception exception)
{
return View("~/Views/Shared/_Error.cshtml",Exception);
}
Error.cshtml
@model System.Exception <div>Exception Message: <b>@Model.Message</b></div>