如果即抛出异常又返回值
在C#中,用try{}catch{},当有异常时,我想抛出一个异常,同时还想返回一个值,如何做?
如try{
//do something
}
catch(Exception ex)
{
throw new Exception(ex.message);
return false;
}
但这样做编译时说return false;永远不会执行
问题点数:20、回复次数:11Top
1 楼thoughter(冰封の刺猬)回复于 2006-07-03 10:47:03 得分 5
这样行不行?加个变量
bool returnValue=true;
try
{
}
catch
{
returnValue=false;
throw;
}
return returnValue;Top
2 楼jianjian54(键键)回复于 2006-07-03 11:00:29 得分 1
try{
//do something
}
catch(Exception ex)
{
throw new Exception(ex.message);
return false;
}
当然了 这是架构不好 你可以吧错误写在本地机器上 return false;出去
Top
3 楼ken_flash(AnotherBug)回复于 2006-07-03 11:08:00 得分 1
用OUT参数 在Catch里捕捉到异常后对OUT参数赋值Top
4 楼lih163(做自己喜欢的事)回复于 2006-07-03 11:16:25 得分 1
不值作为错误发出去Top
5 楼yuchang1980(鱼肠)回复于 2006-07-03 11:22:01 得分 1
有个问题,如果抛出了异常,那么还会执行return么?
所以像楼上说的先对OUT参数赋值,然后再执行throw new Exception(ex.message)
应该是对的.Top
6 楼diandian82(点点(nothing))回复于 2006-07-03 11:23:19 得分 1
这返回值已经没用了。最重要的是处理异常Top
7 楼cyliao(.NET)回复于 2006-07-03 11:34:28 得分 0
请问对OUT参数赋值怎么做?Top
8 楼cscer(时光之石头)回复于 2006-07-03 11:35:58 得分 0
加一个输出参数,标识函数返回状态Top
9 楼cscer(时光之石头)回复于 2006-07-03 11:40:40 得分 0
public a(int a, out int State)
{
State = 0;
}Top
10 楼cscer(时光之石头)回复于 2006-07-03 11:41:08 得分 5
public String a(int a, out int State)
{
State = 0;
}Top
11 楼raymondzh()回复于 2006-07-03 11:51:49 得分 5
try
{
}
catch
{
returnValue=false;
throw;
}
finally
{
return returnValue;
}
Top




