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。