我正在尝试在SharePoint网站中设置自定义错误处理。 但我不知道这是如何运作的。
所以我设置了一个简单的SharePoint项目,只有一个事件接收器,可以播放一个公告列表。
在公告类型列表的itemAdded上,我只是在标题中添加了一些文本并看到它发生了。现在我尝试添加:
throw new Exception("There was a problem with the operation with the operation.")
或 抛出新的SpException(“操作操作出现问题。”)
所以当我调试并附加到某个站点时 http:// [exampleMachineName] / Dev1 siteCollection,
转到announcments列表并添加一个listItem,调试器停在引发异常的违规行。
现在,当我点击F11或绿色箭头(继续)时,我希望看到黄色屏幕显示我的错误消息或来自SharePoint的默认错误屏幕。
但是我没有看到,它只是继续,并在公告列表上显示我的新列表项。
在自定义ASP.Net Web窗体或MVC中,我会看到黄色屏幕,或HTTP 500或其他东西。 这里发生了什么,以及如何复制黄色的死亡情况,就像我试图在我们的实际应用中解决一样。
答案 0 :(得分:0)
这是因为您创建的事件接收类型 - ItemAdded是异步事件接收器,因此它在项目已添加到列表后触发,如果此接收器中出现一些未处理的错误,则您的http页面不会出现错误。它会在ULS日志中写入错误消息。 尝试使用ItemAdding事件接收器。