在使用三层或七层架构来敲系统的时候,常常需要判断多个条件,因此可能一个方法里面需要返回不同的提示消息,这时:使用throw 和 try catch来处理。

第一步:不管在哪一层(不是U层就行,因为U层就直接用MessageBox提示了)

//在B层随便写个
if(条件1成立)
{throw new Exception("条件1提示");
}
if(条件2成立)
{throw new Exception("条件2提示");
}

第二步:在U层添加如下代码

//在U层将调用的方法,包起来  如果try的内容有throw,就会在catch里抓出来
try
{//调用三层或七层的方法
}
catch (Exception ex)
{MessageBox.Show(ex.Message);return;   //停止向下运行
}

  throw是我们自己“扔”出的错误,它会一直往外扔,直到扔到最顶层的开始调用部分,比如,从U层调用了一个方法,经过了B层,在D层中写了个throw new Exception(“我是D层”),它就会一层层扔回,直到U层,我们需要用try catch做处理,不然它就报错了,处理的方法就是第二步的代码,将错误用提示框弹出来。
  使用心得:当执行了throw语句,它就不会继续向下执行,而是直接返回了,所以如果我们成功的运行到了该语句的下一条语句,就说明我们操作成功了,不用在添加判断,来提示是否成功。比如还是上面第一步的代码,添加一行语句:

if(条件1成立)
{throw new Exception("条件1提示");
}
if(条件2成立)
{throw new Exception("条件2提示");
}

如果条件1成立了,那么就在条件1的if语句中返回了,不会执行到条件2。

C# throw new Exception的使用相关推荐

  1. PHP 异常处理 throw new exception

    PHP 异常处理 throw new exception 参考文章: (1)PHP 异常处理 throw new exception (2)https://www.cnblogs.com/7qin/p ...

  2. java中的throw new Exception();和throw e;异常抛出

    java代码如下: package com.imooc.exception; public class Throw1 { public static void main(String[] args) ...

  3. throw new Exception是什么意思,这么使用

    throw new Exception("自己写bai的抛出错误的原因"). 用这句的是原因,我们已经知道有一个错误存在,然后用这个抛出错误的原因让使用这个代码的人知道这是为什么, ...

  4. JAVA→异常、异常类体系结构、try→catch→finally处理异常、throw new Exception(“重构异常“);、throws Exception{ }、自定义异常

    没有异常处理的话,程序发生异常,将终止. 有了异常处理的话,程序发生异常,也继续执行. 有try时,不发生异常执行try→finally,发生异常执行try→catch→finally 多个catch ...

  5. netcore部署docker,在图片处理时有乱码或者The type initializer for ‘Gdip‘ throw an exception异常

    1.The type initializer for 'Gdip' threw an exception 未安装系统基础库造成,在Dockfile中写入如下内容,如果下载比较慢,最好做成自己的基础镜像 ...

  6. throws throw 自定义异常

    我们知道当程序遇到异常时除了用try-catch-finally来捕获异常外,还可以用throws和throw去抛出异常,使用异常处理可以定位问题所在处,方便修改程序代码: 例如利用try-catch ...

  7. EntLib 3.1学习笔记(5) : Exception Handling Application Block

    [en] http://msdn2.microsoft.com/en-us/library/aa480461.aspx [ch] http://www.microsoft.com/china/MSDN ...

  8. 看完这篇Exception 和 Error,和面试官扯皮就没问题了

    来自:Java建设者 在 Java 中的基本理念是 结构不佳的代码不能运行,发现错误的理想时期是在编译期间,因为你不用运行程序,只是凭借着对 Java 基本理念的理解就能发现问题.但是编译期并不能找出 ...

  9. Java基础-异常(Exception)处理

    Java基础-异常(Exception)处理 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.异常的概述 什么是异常?Java代码在运行时期发生的问题就是异常.在Java中,把异 ...

最新文章

  1. 编码小记(未整理-持续更新)
  2. 鱼眼镜头标定基本原理及实现
  3. 作为数据科学家,我都有哪些弱点
  4. mysql @pdept_MySQL 基本管理与常用sql 归结
  5. JSP中文乱码问题终极解决方案(转)
  6. 【设计模式】装饰者模式 ( 概念 | 适用场景 | 优缺点 | 与继承对比 | 定义流程 | 运行机制 | 案例分析 )
  7. php 策略模式实现原理,php 策略模式原理与应用深入理解
  8. 模式识别与智能系统和计算机视觉,天津大学模式识别与智能系统
  9. php联想输入,自动联想搜索提示功能
  10. [转]Laravel 4之URL生成
  11. 设计模式之_动态代理_01
  12. mwget安装及使用
  13. 多通路fpga 通信_基于USB通信的FPGA高速数据采集系统研究
  14. 蓝桥杯 ADV-92 算法提高 求最大公约数
  15. 标签用什么数据结构存比较好_结婚喝什么白酒比较好,婚宴白酒用什么价位的比较好...
  16. javascript中的this指向问题
  17. Utils工具方法集插件详解
  18. js 图片类型mage/jpeg, image/bmp, image/gif ,image/png
  19. 罗格斯大学电子与计算机工程,罗格斯大学电子和计算机工程理学硕士研究生申请要求及申请材料要求清单...
  20. 个人秋招面经——商汤

热门文章

  1. 个人自我介绍PPT模板推荐
  2. 图论-度序列可图性判断(Havel-Hakimi定理)
  3. 计算机硬盘对计算机速度的影响,固态硬盘会不会影响整个电脑的运行速度
  4. 请举例说明微型计算机的工作过程,简答题(计算机接口技术小作业)
  5. 为什么你的蓝牙耳机总是出毛病,不好好反思一下这些问题吗?
  6. SDN和Openflow flowvisor NOX
  7. 入网许可证_入网许可证查询
  8. iOS保存图片到相册
  9. 个人号微信淘宝客机器人SDK定制开发教程
  10. NKOJ 1361 帮帮吉米(Help Jimmy)