When a user tries to respond to a survey he has already responded to SharePoint will return HTTP 500 and the following text:
Server Error in '/' Application.
--------------------------------------------------------------------------------
You are not allowed to respond again to this survey.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.Runtime.InteropServices.COMException: You are not allowed to respond again to this survey.
Source Error:
An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.
Stack Trace:
[COMException (0x81020039): You are not allowed to respond again to this survey.]
Microsoft.SharePoint.Library.SPRequestInternalClass.IsVotingAllowed() +0
Microsoft.SharePoint.Library.SPRequest.IsVotingAllowed() +174
[SPException: You are not allowed to respond again to this survey.]
Microsoft.SharePoint.Library.SPRequest.IsVotingAllowed() +312
Microsoft.SharePoint.WebPartPages.ListFormWebPart.OnInit(EventArgs e) +955
System.Web.UI.Control.InitRecursive(Control namingContainer) +143
System.Web.UI.Control.AddedControl(Control control, Int32 index) +271
System.Web.UI.WebControls.WebParts.WebPartManagerControlCollection.AddWebPartHelper(WebPart webPart) +305
System.Web.UI.WebControls.WebParts.WebPartManagerControlCollection.AddWebPart(WebPart webPart) +1930590
System.Web.UI.WebControls.WebParts.WebPartManagerInternals.AddWebPart(WebPart webPart) +63
Microsoft.SharePoint.WebPartPages.SPWebPartManager.AddWebPartWithRetry(WebPart webPart) +147
Microsoft.SharePoint.WebPartPages.SPWebPartManager.AddDynamicWebPart(WebPart webPart) +122
Microsoft.SharePoint.WebPartPages.SPWebPartManager.CreateWebPartsFromRowSetData(Boolean onlyInitializeClosedWebParts) +12053
Microsoft.SharePoint.WebPartPages.SPWebPartManager.LoadWebParts() +93
Microsoft.SharePoint.WebPartPages.SPWebPartManager.OnPageInitComplete(Object sender, EventArgs e) +690
System.EventHandler.Invoke(Object sender, EventArgs e) +0
System.Web.UI.Page.OnInitComplete(EventArgs e) +11038910
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1674
which is kind of scary for users - they see the "server error" caption and think "WHOA THE SHAREPOINT FELL APART !!!!ELEVENELEVEN".
I've seen this question and I don't feel it covers the same situation - in the case I describe an ugly error message is returned and I wouldn't call getting rid of it customization.
Is there a way to make Sharepoint return some nice looking page instead saying something like "Sorry, you've already responded to this survey"?