gpt4 book ai didi

asp.net - 如何创建详细的错误页面?

转载 作者:行者123 更新时间:2023-12-02 13:48:45 26 4
gpt4 key购买 nike

我想创建一个自定义错误页面来处理所有未处理的异常。

我想从 Global.asax.cs 中的 Application_Error(object sender, EventArgs e) 方法重定向到它。如何在其中显示引发应用程序错误的异常的一些详细信息?

最佳答案

我也做过你说的同样的事情。我创建了一个向用户显示信息的 ErrorPage。我还创建了一个将错误信息写入事件日志的函数...

对于页面,这就是我正在做的事情。只需将标签贴在某处即可...

protected void Page_Load(object sender, EventArgs e)
{
Exception ex = Server.GetLastError().GetBaseException();
this.lblMessage.Text = ex.Message;
this.lblSource.Text = ex.Source;
this.lblStackTrace.Text = ex.StackTrace;
if (AppProperties.AppEnv != AppEnvironment.PROD)
{
this.ErrorDetails.Visible = true;
}
else
{
this.ErrorDetails.Visible = false;
}
Utility.LogError();
Server.ClearError();
}

这就是 LogError 函数的样子...

public static void LogError()
{
LogError(HttpContext.Current.Server.GetLastError().GetBaseException());
}

public static void LogError(Exception ex)
{
EventLog log = new EventLog();
if (ex != null)
{
log.Source = ConfigurationManager.AppSettings["EventLog"].ToString();
StringBuilder sErrorMessage = new StringBuilder();
if (HttpContext.Current.Request != null && HttpContext.Current.Request.Url != null)
{
sErrorMessage.Append(HttpContext.Current.Request.Url.ToString() + System.Environment.NewLine);
}
sErrorMessage.Append(ex.ToString());
log.WriteEntry(sErrorMessage.ToString(), EventLogEntryType.Error);
}
}

关于asp.net - 如何创建详细的错误页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/635922/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com