无法捕获SharePoint Access拒绝错误

ash*_*rya 7 sharepoint moss sharepoint-2007

我试图在webpart中以编程方式访问sharepoint列表,就像这样.

try
{
      masterList = web.Lists[listId];
}
catch(Exception e)
{
      RenderExceptionMessage(e.Message);
}
Run Code Online (Sandbox Code Playgroud)

RenderExceptionMessage()方法应该在webpart中显示用户友好的错误消息.

但问题是我无法捕获异常.而是将webpart页面重定向到访问被拒绝页面,该页面显示错误消息"您当前已登录为:域\用户"

此外,被捕获的异常消息显示"无法评估表达式,因为代码已优化或本机帧位于调用堆栈之上".

知道为什么这样做吗?

Pau*_*Jan 9

默认情况下,SharePoint在页面/ Web服务请求中对访问被拒绝的异常(包括重定向到自定义页面)进行自定义处理,从而绕过代码中的excepton处理.

要禁用此自定义处理,请将SPSecurity.CatchAccessDeniedException设置为false.