C#代码中要执行2个存储过程,那么是应该写2个try2个catch还是1个try,1个catch
应该写成:try{第1个存储过程;}catch(Exception){第1个存储过程出错!}try{第2个存储过程;}catch(Exception){第2个存储过程出错...
应该写成:
try{
第1个存储过程;
}catch(Exception){
第1个存储过程出错!
}
try{
第2个存储过程;
}catch(Exception){
第2个存储过程出错!
}
还是应该写成:
try{
第1个存储过程;
第2个存储过程;
}catch(Exception){
第1个存储过程出错!
第2个存储过程出错!
} 展开
try{
第1个存储过程;
}catch(Exception){
第1个存储过程出错!
}
try{
第2个存储过程;
}catch(Exception){
第2个存储过程出错!
}
还是应该写成:
try{
第1个存储过程;
第2个存储过程;
}catch(Exception){
第1个存储过程出错!
第2个存储过程出错!
} 展开
1个回答
展开全部
看你要怎么执行了
第一种方式,如果存储过程1失败了, 不会影响到存储过程2
第二种方式, 存储过程2执行的前提,必须是存储过程1执行成功
第一种方式,如果存储过程1失败了, 不会影响到存储过程2
第二种方式, 存储过程2执行的前提,必须是存储过程1执行成功
追问
ExecuteDataset(第1个存储过程);
ExecuteDataset(第2个存储过程);
2个存储过程如果第一个失败了,那么第2个应该会走啊,代码是从上到下运行的,为啥第一个失败了第2个不运行,您是说第一个失败了就会进异常,所以第2个不会执行是吗?
追答
不好意思,我没表述清除
"执行失败"是指抛出异常,只要你的存储过程正常返回了,甭管它内部是不是你设定的"遇到了错误", 都算执行成功
所以一旦抛出了异常,就跳到catch语句块,那么第二个存储过程当然也就不会被执行了
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询