0

スタック トレースではなく、いくつかのエラー情報を表示するカスタム エラー ページが必要です。問題のあるページと行番号の情報を表示したいと思います。

デフォルトの SERVER ERROR IN APPLICATION ページには、URL/行番号と周囲のコード/スタック トレースが表示されます。

URL/行番号をよりきれいなカスタムエラーページ内のどこかに表示したいだけです。そうすれば、エラーがスローされたときにコードが公開されることはありませんが、URL/行番号でエラーをすばやく見つけることができます。

カスタム エラー ページを既にオンにしています。それらに追加情報を追加したいだけです。C#.NET 4.0 と Web フォームを使用しています。

4

1 に答える 1

0

これは私が長い間、そしてそれが不可能であったけれども長い間持っていた質問です、それで私はいくつかの調査をして解決策を見つけました。名前空間のStackFrameオブジェクトを使用する必要があります。System.Diagnostics例をまとめたところ、うまくいったようです。

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

唯一の疑わしい項目はエラー列番号です-他のすべては完全に一致しています。

于 2012-10-17T18:33:30.103 に答える