C# throw new Exception的使用

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Tink_bell/article/details/80550697

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

猜你喜欢

转载自blog.csdn.net/Tink_bell/article/details/80550697