1

所以在 Global.asax 中是这样的:

protected void Application_Error(object sender, System.EventArgs { Session["CustomError"] = Server.GetLastError(); Server.ClearError(); Response.Redirect("~/ErrorPage.aspx"); }

在 ErrorPage.aspx 中是这样的:

private void Page_Load(object sender, System.EventArgs e) { Exception currentException = ((Exception)Session["CustomError"]).InnerException;

// 写入错误消息 if (currentException != null) txtErrorMessage.Text = currentException.Message;

// 遍历内部异常。currentException = (Exception)Session["CustomError"]; while (currentException != null) { message.Append(currentException.Message).Append("\r\n").Append(currentException.StackTrace); message.Append("\n============================================ ===\n"); currentException = currentException.InnerException; }

由于这是旧的 1.0 代码,因此在转换为 3.5 Global.asax 文件时会出错。它告诉我“会话”不可用,而且我无法重定向??我认为其中一个问题可能是 Application_Start 也抛出了一个错误。但是,如果我注释掉所有应用程序启动代码,我仍然会收到错误,但它们永远不会被重定向到错误页面。

4

1 回答 1

0

此链接可能会有所帮助:异常陷阱!. 此外,使用 web.config 文件定义默认的错误重定向页面。

于 2010-01-09T02:07:11.597 回答