我看了一下帮助,对Finally语句的解释是:Finally处理程序,它在每次块退出时都执行,不论退出是由正常控制流引起的还是由未处理的异常引起的。
相当于是程序在调用return语句时才执行该语句体。所以你在Finally语句体内写return语句是不对的。换个思维,你在finally
{
return strReturn;
}
里写返回值是没有意义的。因为无论有没有发生错误你都给返回值赋了值,程序都会返回一个值。又何必在finally里面再返回值呢?
相当于是程序在调用return语句时才执行该语句体。所以你在Finally语句体内写return语句是不对的。换个思维,你在finally
{
return strReturn;
}
里写返回值是没有意义的。因为无论有没有发生错误你都给返回值赋了值,程序都会返回一个值。又何必在finally里面再返回值呢?
解决方案 »
- 如何打开网页时,验证控件最新版本,然后下载
- asp.net网站资源占用特别大,怎么才能找到问题所在?UP有分!
- VS.Net 2005 我疯了,真的疯了,明天找微软赔钱
- FREETEEBOX的问题,大家帮一下。有点头痛了。
- 讨论一下pgSQL和.net的应用.用过的高手进来哈.分不够再给
- "输入字符串的格式不正确"在Datagrid中加合计行出错
- 乞求各位帮忙,一个datagrid模板的问题!
- 两页面传值(页数),大家帮看看,我感觉正常的路子好象走不通
- 寻找武汉.net兼职!(帮顶有分)
- 数据库查询的问题
- 小弟初学asp,不知网上有什么好书介绍阿?
- 如何把做好的静态页面,放到vs.net的工程里面去?
我的本意是在try/catch中对返回值进行赋值,在finally时返回!这样避免了在try和catch中都写相同的语句。
在return时执行finally语句体,你的意思是在finally语句体中写return语句会造成死循环?
try
{
...
strReturn = "RIGHT";
return strReturn;
}
catch
{
strReturn = "ERROR";
return strReturn; }
这样。