【机房合作】异常处理实战

之前看过了异常处理的一篇博客:
[ http://blog.csdn.net/ls1645/article/details/50528789 C#中的异常捕获机制(try catch finally)]
在机房中实践了一下,终于有些理解了。上面链接中的文章对于异常处理的阐释已经很清楚明白了,我就把机房中异常处理的例子贴出来吧,应用地很简单。
登录中验证用户名密码的正确性:
U层代码:

  try
       {
        //检查用户名密码是否正确
        //如果返回值为false,则给出提示,否则继续进行
        if (!loginF.IsCorrect(listUser))
        {
            MessageBox.Show("用户名或密码错误!请检查", "提示!");
            txtUserID.Focus();//设用户名为焦点
            return;
         }
         }
catch (Exception)
        {
            MessageBox .Show ("错误类型:"+e,"提示");
            return;
        }

B层代码:

#region 判断密码是否正确
        /// <summary>
        /// 判断密码是否成功
        /// </summary>
        /// <param name="user">用户名</param>
        /// <returns>密码正确或失败</returns>
        public bool IsCorrect(List<TC_User> user)
        {
            try
            {
                IDAL.IUser iuser = factory.CreateIUser();
                List<TC_User> listUser = iuser.GetUserInfo(user);
                //如果从数据库中查出的用户名密码与界面中传来的用户名密码均匹配,则返回true;否则,返回false
                if (listUser[0].userID.Trim() == user[0].userID.Trim() && listUser[0].passWord.Trim() == user[0].passWord.Trim())
                {
                    return true;
                }
                else
                {
                    return false;
                }
            }
            catch (Exception e)
            {

                throw e;
            }

        }
        #endregion

D层代码:

#region 根据用户ID获得用户表中的信息
        /// <summary>
        ///  获得用户表中的信息
        /// </summary>
        /// <param name="user">用户信息:userid</param>
        /// <returns>List<TC_User></returns>
        public List<TC_User> GetUserInfo(List<TC_User> user)
        { 

            string sql = "select * from TC_User where userID=@userID";
            SqlParameter[] paras = new SqlParameter[]{
                //new SqlParameter("@userID",user[0].userID )  //(这里特意注释掉,为了测试try...catch使用)
            };

            dt = sqlhelper.ExecuteQuery(sql, paras, CommandType.Text);
            //转实体
            List<TC_User> selectUser = new List<TC_User>();
            selectUser = entityUserList.ToList(dt);
            return selectUser;
        }
        #endregion

运行时的图:
异常提醒
点击确定按钮,提示框关闭,系统不会崩溃。

在异常处理的使用过程中发现,往往有异常处理,不好调试程序,尤其是自定义的异常处理不是那么准确的时候。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 22
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 22
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值