在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
当应用程序出错时,我不希望用户看到一个错误提醒页面,而不是看到一堆乱码。 方法1:简单的自定义错误处理页面可以通过web.config来设置:
<customErrors mode="RemoteOnly" defaultRedirect="error.aspx">
<error statusCode="403" redirect="error.aspx" /> <error statusCode="404" redirect="error.aspx" /> </customErrors>
方法2:通过Global.asax中的Application_Error事件实现 Global.asax中的Application_Error事件的示例代码:
void Application_Error(object sender, EventArgs e)
{ // 在出现未处理的错误时运行的代码 Exception objErr = Server.GetLastError().GetBaseException(); string sError = "发生异常页: " + HttpContext.Current.Request.Url.ToString() + "</br>"; sError += "异常信息: " + objErr.Message + "</br>"; //清除前一个异常 Server.ClearError(); //此处理用Session["ProError"]出错。所以用 Application["ProError"] Application["ProError"] = sError; //string sPath = HttpContext.Current.Request.ApplicationPath; //此处是不是page中,不能用Response.Redirect("../frmSysError.aspx"); System.Web.HttpContext.Current.Response.Redirect(HttpContext.Current.Request.ApplicationPath + "/error.aspx"); } 错误页面error.aspx的代码:
protected void Page_Load(object sender, EventArgs e)
{ if (!IsPostBack) { //显示程序中的错误码 if (Application["ProError"] != null) { lblError.Text = Application["ProError"].ToString(); } } }
方法2代码下载:Global_Study.rar
|
请发表评论