Sharepoint 2010 为什么我的错误没有显示在SharePoint中

Sharepoint 2010 为什么我的错误没有显示在SharePoint中,sharepoint-2010,Sharepoint 2010,我正在尝试在SharePoint网站中设置自定义错误处理。 但我不知道这是怎么回事 因此,我已经建立了一个简单的SharePoint项目,其中只有一个事件接收器,用于发布列表 在为公告类型列表添加的itemsadded上,我只是在标题中添加一些文本,然后看到它发生。现在我想补充一点: throw new Exception("There was a problem with the operation with the operation.") 或 抛出新的SpException(“操作中存在

我正在尝试在SharePoint网站中设置自定义错误处理。 但我不知道这是怎么回事

因此,我已经建立了一个简单的SharePoint项目,其中只有一个事件接收器,用于发布列表

在为公告类型列表添加的itemsadded上,我只是在标题中添加一些文本,然后看到它发生。现在我想补充一点:

throw new Exception("There was a problem with the operation with the operation.")
或 抛出新的SpException(“操作中存在操作问题。”)

因此,当我调试并连接到 http://[exampleMachineName]/Dev1 siteCollection

转到announcments列表并添加listItem,调试器将在引发异常的错误行停止

现在,当我点击F11或绿色箭头(继续)时,我希望看到显示错误消息的黄色屏幕或SharePoint的默认错误屏幕

但我两者都看不到,它只是继续,并在公告列表上显示我的新列表项

在自定义ASP.NETWeb表单或MVC中,我会看到黄色屏幕,或HTTP 500之类的东西。
这里发生了什么,以及我如何复制一个黄色屏幕上的死亡情况,就像我在实际应用程序中试图解决的那样。

这是因为您创建的事件接收类型-ItemAdded是异步事件接收器,因此它会在项目已添加到列表中后触发,如果此列表中出现未处理的错误然后,您的http页面中不会出现错误。不过,它会在ULS日志中写入错误消息。
尝试使用ItemAdding事件接收器。

哦,谢谢,这很有效。现在我得到一个弹出的错误对话框,其中包含我抛出的SPexception的消息文本。所以现在我想知道为什么我正在玩的项目会这样做,但我们真正的应用程序会显示黄色屏幕。这可能是某个地方的自定义错误设置。他们可能已经关闭了吗?是的,这肯定是web配置中设置的自定义错误部分,请检查此项。您需要设置customErrors mode=“On”。另外,更改web.config后,请不要忘记执行issreset。再次感谢。作为一名SharePoint新手,我想知道应该在哪个web.config中更改此设置。配置单元,或在IIS的实际web应用程序中,位于inetpub/wwwroot/wss/virtualdirectories/[端口号]。那么,这两者之间有什么区别,还有什么地方藏匿着呢。这与我的ASP.Net体验完全不同,在我的ASP.Net体验中,您拥有web.config和machine.config的层次结构。您需要在web应用程序-inetpub/wwwroot/wss/virtualdirectories/[端口号]中更改web配置