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 里面的都会执行