【牛腩】出现问题之后怎么提示比较“文明”

本文介绍如何在Web应用和C#程序中优雅地处理错误提示,避免直接暴露问题细节给用户,提升用户体验。对于Web应用,通过自定义错误页面并设置自动跳转;对于C#程序,则采用try...catch语句捕获异常。


【前言】

平时我们做的项目,出现bug之后就会直接提示bug的具体问题,但是这对于用户来说,使用体验是非常差的,一方面是用户也看不懂这个问题,报出bug就相当于在告诉用户,我这里有问题,然后用户以后就不想用你这个程序了,另一方面是,有心人士会根据你报出来的bug,明白你程序是怎么运行怎么写的,这就暴露机密了吧。

下面来说一下,程序运行出现问题,我们怎么“文明”的提醒。

【web】

首先说一下牛腩中的错误提醒,这个是用的web。

直接写一个提示错误的网页,【error.html】里面直接提示出错了,但是不告诉你那里有错误,然后停留一段时间之后直接跳转到主窗体。

<html xmlns="http://www.w3.org/1999/xhtml">
<head>


    <title>出错啦~~~</title>

    <link href="css/login.css" rel="stylesheet" type="text/css" />
    <script language="javascript" type="text/javascript">
        var i = 5;//倒计时五秒钟
        var intervalid;
        intervalid = setInterval("fun()", 1000);//触发函数*
        function fun() {
            if (i == 0) {
                window.location.href = "default.aspx";//跳转窗口
                clearInterval(intervalid);
            }
            document.getElementById("mes").innerHTML = i;
            i--;
        }
    </script>
</head>
<body>
    <div id="errorfrm" class="round1">
        <h3>出错啦~~~</h3>
        <div id="error">
            <img src="../images/error.gif" alt="" />
            <p>系统出错,请联系管理员!</p>
            <p>将在 <span id="mes">5</span> 秒钟后返回首页!</p>
        </div>
        <div id="footer">
            版权所有 &copy; 牛腩&amp;众志网 
        </div>
    </div>
</body>
</html>

最后在web.config文件中调用就可以了。

    <!-- 出现错误的时候自动导向 -->
    <customErrors mode="On" defaultRedirect="~/error.htm"/>

显示界面就是这样哒~

在这里插入图片描述

【C#】

说到这里就想起来了刚刚结束的机房收费系统,和web不一样的地方在于,机房遇到问题就直接把问题抛出来,不会影响继续运行程序。

借助try…catch语句,如果执行不成功,就直接把问题抛出来。

            try
            {
                bossIBLL.addUser(userEntity);
                MessageBox.Show("添加成功");
                this.Close();
            }
            //出现异常直接抛出问题
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);                
            }

但是这里抛出来的问题是不会具体提示是哪里有问题的,只是提示问题可能是什么原因。

欢迎交流~
评论 20
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

张_Laura

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值