欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

C# throw new Exception的使用

程序员文章站 2022-07-15 12:54:18
...

  在使用三层或七层架构来敲系统的时候,常常需要判断多个条件,因此可能一个方法里面需要返回不同的提示消息,这时:使用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。