我有一個.NET 4.0 Web應用程序,它在Global.asax的Application_Error事件中實現了一個錯誤處理程序。如何從異常中獲取更多細節?
發生異常時此攔截,並派我在內的各種類的登錄用戶,頁面信息上發生錯誤的電子郵件,會議內容等
這是所有偉大的,但有一些基本的細節丟失,我似乎無法找到。
舉例來說,這是一個錯誤的一個子集,我會收到和相關的堆棧跟蹤:
Source: Telerik.Web.UI
Message: Selection out of range
Parameter name: value
Stack trace: at Telerik.Web.UI.RadComboBox.PerformDataBinding(IEnumerable dataSource)
at Telerik.Web.UI.RadComboBox.OnDataSourceViewSelectCallback(IEnumerable data)
at System.Web.UI.DataSourceView.Select(DataSourceSelectArguments arguments, DataSourceViewSelectCallback callback)
at Telerik.Web.UI.RadComboBox.OnDataBinding(EventArgs e)
at Telerik.Web.UI.RadComboBox.PerformSelect()
at System.Web.UI.WebControls.BaseDataBoundControl.DataBind()
at Telerik.Web.UI.RadComboBox.DataBind()
at System.Web.UI.WebControls.BaseDataBoundControl.EnsureDataBound()
at Telerik.Web.UI.RadComboBox.OnPreRender(EventArgs e)
at System.Web.UI.Control.PreRenderRecursiveInternal()
at System.Web.UI.Control.PreRenderRecursiveInternal()
at System.Web.UI.Control.PreRenderRecursiveInternal()
at System.Web.UI.Control.PreRenderRecursiveInternal()
at System.Web.UI.Control.PreRenderRecursiveInternal()
at System.Web.UI.Control.PreRenderRecursiveInternal()
at System.Web.UI.Control.PreRenderRecursiveInternal()
at System.Web.UI.Control.PreRenderRecursiveInternal()
at System.Web.UI.Control.PreRenderRecursiveInternal()
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
現在一樣可愛,因爲這是我可以知道一個做)控制和B的名稱)導致控制超出範圍的值。
有關我如何獲得此類信息的任何建議?我已經在調試模式下運行這個,並且傳遞給Global.asax的對象似乎沒有包含我可以看到的更多細節。
您需要在發生異常的地方捕捉異常,並從那裏登錄以獲取您要查找的信息。 – 2012-03-19 17:59:44
您是否嘗試重寫['MasterPage.OnError(EventArge)'](http://msdn.microsoft.com/zh-cn/library/system.web.ui.templatecontrol.onerror.aspx)? – abatishchev 2012-03-19 18:00:57
您如何獲取已顯示的數據?這個例外是不是包含你想要的信息?如果是這樣,你可能會運氣不好,除非你能夠添加更多的數據到拋出的異常... – Chris 2012-03-19 18:01:29