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

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

相关文章

MyBatis-Plus通用中等、大量数据分批查询和处理方法

《MyBatis-Plus通用中等、大量数据分批查询和处理方法》文章介绍MyBatis-Plus分页查询处理,通过函数式接口与Lambda表达式实现通用逻辑,方法抽象但功能强大,建议扩展分批处理及流式... 目录函数式接口获取分页数据接口数据处理接口通用逻辑工具类使用方法简单查询自定义查询方法总结函数式接口

SpringBoot结合Docker进行容器化处理指南

《SpringBoot结合Docker进行容器化处理指南》在当今快速发展的软件工程领域,SpringBoot和Docker已经成为现代Java开发者的必备工具,本文将深入讲解如何将一个SpringBo... 目录前言一、为什么选择 Spring Bootjavascript + docker1. 快速部署与

MySQL 多列 IN 查询之语法、性能与实战技巧(最新整理)

《MySQL多列IN查询之语法、性能与实战技巧(最新整理)》本文详解MySQL多列IN查询,对比传统OR写法,强调其简洁高效,适合批量匹配复合键,通过联合索引、分批次优化提升性能,兼容多种数据库... 目录一、基础语法:多列 IN 的两种写法1. 直接值列表2. 子查询二、对比传统 OR 的写法三、性能分析

Python办公自动化实战之打造智能邮件发送工具

《Python办公自动化实战之打造智能邮件发送工具》在数字化办公场景中,邮件自动化是提升工作效率的关键技能,本文将演示如何使用Python的smtplib和email库构建一个支持图文混排,多附件,多... 目录前言一、基础配置:搭建邮件发送框架1.1 邮箱服务准备1.2 核心库导入1.3 基础发送函数二、

PowerShell中15个提升运维效率关键命令实战指南

《PowerShell中15个提升运维效率关键命令实战指南》作为网络安全专业人员的必备技能,PowerShell在系统管理、日志分析、威胁检测和自动化响应方面展现出强大能力,下面我们就来看看15个提升... 目录一、PowerShell在网络安全中的战略价值二、网络安全关键场景命令实战1. 系统安全基线核查

Python使用vllm处理多模态数据的预处理技巧

《Python使用vllm处理多模态数据的预处理技巧》本文深入探讨了在Python环境下使用vLLM处理多模态数据的预处理技巧,我们将从基础概念出发,详细讲解文本、图像、音频等多模态数据的预处理方法,... 目录1. 背景介绍1.1 目的和范围1.2 预期读者1.3 文档结构概述1.4 术语表1.4.1 核

Spring Boot @RestControllerAdvice全局异常处理最佳实践

《SpringBoot@RestControllerAdvice全局异常处理最佳实践》本文详解SpringBoot中通过@RestControllerAdvice实现全局异常处理,强调代码复用、统... 目录前言一、为什么要使用全局异常处理?二、核心注解解析1. @RestControllerAdvice2

Java进程异常故障定位及排查过程

《Java进程异常故障定位及排查过程》:本文主要介绍Java进程异常故障定位及排查过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、故障发现与初步判断1. 监控系统告警2. 日志初步分析二、核心排查工具与步骤1. 进程状态检查2. CPU 飙升问题3. 内存

从原理到实战深入理解Java 断言assert

《从原理到实战深入理解Java断言assert》本文深入解析Java断言机制,涵盖语法、工作原理、启用方式及与异常的区别,推荐用于开发阶段的条件检查与状态验证,并强调生产环境应使用参数验证工具类替代... 目录深入理解 Java 断言(assert):从原理到实战引言:为什么需要断言?一、断言基础1.1 语

Java MQTT实战应用

《JavaMQTT实战应用》本文详解MQTT协议,涵盖其发布/订阅机制、低功耗高效特性、三种服务质量等级(QoS0/1/2),以及客户端、代理、主题的核心概念,最后提供Linux部署教程、Sprin... 目录一、MQTT协议二、MQTT优点三、三种服务质量等级四、客户端、代理、主题1. 客户端(Clien