finally()很坚强,就算在try{}或者catch{}中已经返回了,但是finally()中的代码依旧会执行!
public bool testFinallly()
{
int a = 0;
try
{
a = 10;
Console.WriteLine("Try");
return true;
}
catch
{
Console.WriteLine("Catch");
return false;
}
finally
{
a = 99;
Console.WriteLine("finally , a={0}",a.ToString());
//return true;//编译错误:控制不能离开finally子句主体
}
Console.WriteLine("out of finally");
}
最后会输出:
Try
finally ,a=99