2013-12-12 48 views
3

我最近在我現有的子佈局中實現了異常處理代碼。它的工作,但是,我得到的唯一信息是拋出異常和它所屬的類的方法。很多時候,由於未發佈的項目或項目的字段,我得到NullReferenceException錯誤。是否有一種簡單的方法可以將物品ID包含在拋出的異常中以識別罪魁禍首?使用Sitecore項目處理錯誤

由於提前, 肖恩

+1

你是什麼意思與物品ID在拋出異常?你的意思是目前的物品ID或其他東西? – 2013-12-12 06:51:19

+0

你能提供一些你得到這些例外情況的例子嗎?您是否試圖訪問多重列表中的項目或其他類型的項目? –

回答

3

如果你得到一個NullReferenceException因爲有物品缺失或未發表的,這意味着Sitecore的是不能夠解決的項目,所以通常不會提的ID在異常消息中。

你可以做的就是嘗試記錄一些關於當前請求的信息,主要是請求URL和引用URL。
通過這種方式,您可以找出導致異常被拋出的原因。

您可以使用HttpContext.Current.Request來獲得當前的請求對象(儘管首先檢查是否爲HttpContext.Current)。
然後使用Request.UrlRequest.UrlReferer獲取有關請求URL的信息。