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

2024-08-25 13:32

本文主要是介绍【机房合作】异常处理实战,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

之前看过了异常处理的一篇博客:
[ 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;否则,返回falseif (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

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

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

这篇关于【机房合作】异常处理实战的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1105688

相关文章

使用Python批量将.ncm格式的音频文件转换为.mp3格式的实战详解

《使用Python批量将.ncm格式的音频文件转换为.mp3格式的实战详解》本文详细介绍了如何使用Python通过ncmdump工具批量将.ncm音频转换为.mp3的步骤,包括安装、配置ffmpeg环... 目录1. 前言2. 安装 ncmdump3. 实现 .ncm 转 .mp34. 执行过程5. 执行结

Python实现批量CSV转Excel的高性能处理方案

《Python实现批量CSV转Excel的高性能处理方案》在日常办公中,我们经常需要将CSV格式的数据转换为Excel文件,本文将介绍一个基于Python的高性能解决方案,感兴趣的小伙伴可以跟随小编一... 目录一、场景需求二、技术方案三、核心代码四、批量处理方案五、性能优化六、使用示例完整代码七、小结一、

Python中 try / except / else / finally 异常处理方法详解

《Python中try/except/else/finally异常处理方法详解》:本文主要介绍Python中try/except/else/finally异常处理方法的相关资料,涵... 目录1. 基本结构2. 各部分的作用tryexceptelsefinally3. 执行流程总结4. 常见用法(1)多个e

PHP应用中处理限流和API节流的最佳实践

《PHP应用中处理限流和API节流的最佳实践》限流和API节流对于确保Web应用程序的可靠性、安全性和可扩展性至关重要,本文将详细介绍PHP应用中处理限流和API节流的最佳实践,下面就来和小编一起学习... 目录限流的重要性在 php 中实施限流的最佳实践使用集中式存储进行状态管理(如 Redis)采用滑动

SpringBoot 多环境开发实战(从配置、管理与控制)

《SpringBoot多环境开发实战(从配置、管理与控制)》本文详解SpringBoot多环境配置,涵盖单文件YAML、多文件模式、MavenProfile分组及激活策略,通过优先级控制灵活切换环境... 目录一、多环境开发基础(单文件 YAML 版)(一)配置原理与优势(二)实操示例二、多环境开发多文件版

MyBatis-plus处理存储json数据过程

《MyBatis-plus处理存储json数据过程》文章介绍MyBatis-Plus3.4.21处理对象与集合的差异:对象可用内置Handler配合autoResultMap,集合需自定义处理器继承F... 目录1、如果是对象2、如果需要转换的是List集合总结对象和集合分两种情况处理,目前我用的MP的版本

Three.js构建一个 3D 商品展示空间完整实战项目

《Three.js构建一个3D商品展示空间完整实战项目》Three.js是一个强大的JavaScript库,专用于在Web浏览器中创建3D图形,:本文主要介绍Three.js构建一个3D商品展... 目录引言项目核心技术1. 项目架构与资源组织2. 多模型切换、交互热点绑定3. 移动端适配与帧率优化4. 可

Debian 13升级后网络转发等功能异常怎么办? 并非错误而是管理机制变更

《Debian13升级后网络转发等功能异常怎么办?并非错误而是管理机制变更》很多朋友反馈,更新到Debian13后网络转发等功能异常,这并非BUG而是Debian13Trixie调整... 日前 Debian 13 Trixie 发布后已经有众多网友升级到新版本,只不过升级后发现某些功能存在异常,例如网络转

C#文件复制异常:"未能找到文件"的解决方案与预防措施

《C#文件复制异常:未能找到文件的解决方案与预防措施》在C#开发中,文件操作是基础中的基础,但有时最基础的File.Copy()方法也会抛出令人困惑的异常,当targetFilePath设置为D:2... 目录一个看似简单的文件操作问题问题重现与错误分析错误代码示例错误信息根本原因分析全面解决方案1. 确保

从原理到实战解析Java Stream 的并行流性能优化

《从原理到实战解析JavaStream的并行流性能优化》本文给大家介绍JavaStream的并行流性能优化:从原理到实战的全攻略,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的... 目录一、并行流的核心原理与适用场景二、性能优化的核心策略1. 合理设置并行度:打破默认阈值2. 避免装箱