try catch 捕获到异常后...
string a="",b="";
void test(int t)
{
try
{
a=ws.testmetho(t);
}
catch(Exception ex)
{
b="错误";
}
if(a="aaaaaa")
{
b="1";OTHERS(b);
}
esle
{b="2";OTHERS(b);
}
}
出现问题症状
循环调用 test()
当 a=ws.testmetho("test"); 出现异常后 b的值 并没有是预期的 "错误"
而是上一次调用正确的值 1或者2
既 例如
6次循环吊用该方法
a的值分别为 aaaaaa,bbbbb,"异常",ggggggggg,aaaaaa,"异常",
b的值 应该为 1 2 错误 2 1 错误
但实际却是
1 2 2 2 1 1
即 异常情况下 b的值 确是上一次正确调用的值
------解决方案--------------------结果没有什么问题啊。。。ws.testmetho(t)出现异常后a的值并没有改变,还是上次正确执行时候的值,所以b的值不是1就是2
------解决方案--------------------void test(int t)
{
try
{
a=ws.testmetho(t);
if(a="aaaaaa")
{
b="1";OTHERS(b);
}
esle
{
b="2";OTHERS(b);
}
}
catch(Exception ex)
{
b="错误";
}
}
这样改一下就行了
------解决方案--------------------try catch不是这样用的.是要处理异常的,要是不处理就throw出去,让上层处理