2012-10-17 55 views
0

我想要一個顯示一些錯誤信息但不是堆棧跟蹤的自定義錯誤頁面。 我希望它顯示違規頁面和行號的信息。CustomError中的錯誤信息頁面

默認服務器錯誤的應用頁面顯示的URL /行號和周圍的代碼/堆棧跟蹤。

我只想URL /行號的地方出現一個漂亮的自定義錯誤頁內。這樣,我們的代碼不會在拋出錯誤時暴露出來,但我仍然可以通過url/line number快速找到錯誤。

我已經打開了自定義錯誤頁面。我只是想向他們添加額外的信息。 我正在使用C#.NET 4.0和webforms。

+0

我認爲這個鏈接將幫助您http://www.asp.net/web-forms/tutorials/deployment/deploying-web-site-projects/Displaying-a-Custom-Error-Page-cs。 – user854301

回答

0

這是一個問題,我有一段時間,時間最長的,雖然這是不可能的,所以我做了一些研究,並找到了解決辦法。您需要使用System.Diagnostics命名空間中的StackFrame對象。我只是舉了一個例子,它似乎工作。

try 
{ 
    int a = 10; 
    int b = 0; 
    litDebug.Text = (a/b).ToString(); 
} 
catch (Exception ex) 
{ 
    StackTrace st = new StackTrace(ex, true); 
    StackFrame sf = st.GetFrame(0); 
    litDebug.Text = "" + 
     "<br />File Name: " + sf.GetFileName() + 
     "<br />Method Name: " + sf.GetMethod().Name + 
     "<br />Error Line Number: " + sf.GetFileLineNumber() + 
     "<br />Error Column Number: " + sf.GetFileColumnNumber(); 
} 

頁輸出是:

File Name: c:\inetpub\www.website.com\dev\error.aspx.cs 
Method Name: Page_Load 
Error Line Number: 17 
Error Column Number: 4 

唯一可疑的項目是錯誤列數 - 一切完美地匹配起來。