Reputation: 24840
I had to take over an MVC 3 project from another developer. One of the first things he did was to stop the yellow screen of death so that all exceptions are only logged to a file. You now only get a generic message saying an error has occurred.
I would like to switch it back on (since it gets really annoying having to check through the logfiles the whole time) - how do I do this.
I checked through the web.config but I can't see where this happens.
I did try doing customerrors=off, but that didn't do anything. Also removed the global error handling attribute, didn't do anything.
On further clarification, it seems if an exception occurs in a controller I do get the yellow screen of death, but if it occurs in a (razor) view I just get a standard generic error.
You can see the web.config here You can see the global.asax here
Upvotes: 5
Views: 6575
Reputation: 8474
None of this worked for me. Check if someone might have added code to clear the error in the application error event handler.
protected void Application_Error(object sender, EventArgs e)
{
Exception lastException = Server.GetLastError().GetBaseException();
Log.Error("Global.asax: WebApplication error", lastException);
//****Server.ClearError();
}
Upvotes: 1
Reputation: 1404
This question is a little old, but maybe this will help someone. In addition to setting <customerErrors mode="Off" />
, also set this under <system.webServer>
: <httpErrors errorMode="Detailed" />
<system.webServer>
<httpErrors errorMode="Detailed"/>
</system.webServer>
Upvotes: 6
Reputation: 36287
In Global.asax
you can remove filters.Add(new HandleErrorAttribute());
from public static void RegisterGlobalFilters(GlobalFilterCollection filters)
.
As pointed out in the comments - the problem was with a Custom Base controller overriding the OnException Method.
Upvotes: 4
Reputation: 16032
Normally you set this in web.config in the customErrors
element under system.web
.
Just try to set mode=Off:
<customErrors mode="Off" />
Upvotes: 5