博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Web项目中创建简单的错误处理页面
阅读量:5738 次
发布时间:2019-06-18

本文共 2055 字,大约阅读时间需要 6 分钟。

当应用程序出现错误的时候,如果没有做错误页面处理的话,会直接输出一些敏感的信息出来,有时候甚至会直接将项目所在的物理路径给显示出来,严重缺乏安全性,并且错误种类繁多,页面风格不一,导致用户体验不好,本文介绍如何在web项目中创建错误页面,从而友好的提示错误信息。

一,创建错误页面error.aspx,前台代码如下(可根据实际需要增加元素):

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="error.aspx.cs" Inherits="MES.Web.error" %>            
system error

 

二,在全局处理文件中的 Application_Error 中加入错误处理的代码,如下:

// 在出现未处理的错误时运行的代码            Exception objErr = Server.GetLastError().GetBaseException();            string sError = "异常页面:" + HttpContext.Current.Request.Url.ToString() + "异常信息:" + objErr.Message + "处理方法:请刷新页面重试或联系系统管理员。";                        //清除之前的异常            Server.ClearError();            //这里如果用Session["ProError"]会出错,所以用 Application["AppError"]            Application["AppError"] = sError;            //这里不能用Response.Redirect            System.Web.HttpContext.Current.Response.Redirect(HttpContext.Current.Request.ApplicationPath + "/error.aspx");

三,在错误页面初始化的时候,输出错误信息,如下:

if (!IsPostBack)            {                if (Application["AppError"] != null)                {                    try                    {                        string msg = Application["AppError"].ToString();                        msg = msg.Replace("\"", "");                        lblMessage1.Text = msg.Substring(0, msg.IndexOf("异常信息"));                        lblMessage2.Text = msg.Substring(msg.IndexOf("异常信息"), msg.IndexOf("处理方法") - msg.IndexOf("异常信息"));                        lblMessage3.Text = msg.Substring(msg.LastIndexOf("处理方法"));                    }                    catch (Exception ex)                    {                        lblMessage1.Text = ex.Message;                    }                }            }

 

以上步骤即可完成错误页面的配置,除此之外,还可通过Web.Config配置错误页面,预览效果如下:

 

转载地址:http://ftwzx.baihongyu.com/

你可能感兴趣的文章
你所不知的Webpack-多种配置方法
查看>>
React.js 集成 Kotlin Spring Boot 开发 Web 应用实例详解
查看>>
《图解HTTP》学习笔记(四):返回结果的HTTP状态码
查看>>
翻译连载 | 附录 B: 谦虚的 Monad-《JavaScript轻量级函数式编程》 |《你不知道的JS》姊妹篇...
查看>>
Spring 学习笔记(一)Spring核心容器
查看>>
webpack+typescript+threejs+vscode开发
查看>>
python读excel写入mysql小工具
查看>>
如何学习区块链
查看>>
搜索问题的办法
查看>>
微信分销系统商城营销5大重点
查看>>
求职准备 - 收藏集 - 掘金
查看>>
htm5新特性(转)
查看>>
Linux-Centos启动流程
查看>>
php 设计模式
查看>>
后端技术精选 - 收藏集 - 掘金
查看>>
Laravel 服务容器
查看>>
6天面试、斩获6家硅谷巨头Offer,我是如何做到的?
查看>>
Scala模式匹配的亮点——Martin Odersky访谈(四)
查看>>
mac安装kubernetes并运行echoserver
查看>>
多页架构的前后端分离方案(webpack+express)
查看>>