Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Cannot catch the SharePoint Access denied error

I am trying to access a sharepoint list programmatically in a webpart, like this.

try
{
      masterList = web.Lists[listId];
}
catch(Exception e)
{
      RenderExceptionMessage(e.Message);
}

The RenderExceptionMessage() method is supposed to show a user-friendly error message inside the webpart.

But the problem is that I am not able to trap the Exception. Instead the webpart page redirects to an access denied page which shows an error message "You are currently signed in as: Domain\user"

Also, the message of the exception being caught reads "Unable to evaluate expression because the code is optimized or a native frame is on top of the call stack."

Any idea why this behaves this way?

like image 439
ashwnacharya Avatar asked Apr 07 '09 08:04

ashwnacharya


1 Answers

By default, SharePoint has custom handling for access denied exceptions (including the redirect to the custom page) within page/webservice requests, bypassing the excepton handling in your code.

To disable this custom handling, set SPSecurity.CatchAccessDeniedException to false.

like image 109
Paul-Jan Avatar answered Oct 14 '22 01:10

Paul-Jan