读书人

finaly一定能走到吗?该怎么处理

发布时间: 2012-01-15 22:57:49 作者: rapoo

finaly一定能走到吗?
请问一下

比如一段代码

try
{
//-------
return 0;
}
catch
{
//-------
return 1;
}
finaly
{
//---
return -1
}

这时如果try中无错误或有错误是否都能在返回前执行finaly的代码呢?
返回啥呢?
谢谢

[解决办法]
1。
此代码无法编译通过


try
{
//-------
return 0;
}
catch
{
//-------
return 1;
}
finaly
{
//---
return -1; // error, CS0157: 控制不能离开 finally 子句主体

}

2。
LZ 你就想当然,也懒得自己测试?

3。
即使 return 语句出现在 try 块中,并且正常返回时, finally 块保证执行,然后返回,将控制权交给调用方
[解决办法]

不管怎么样 finaly 里面的都会执行

读书人网 >C#

热点推荐