try catch finally与return的执行顺序
来源:互联网 发布:究极风暴4优化补丁3dm 编辑:程序博客网 时间:2024/06/05 09:01
测试1:
public static int test1()
{
int i = 1;
try
{
return ++i;
}
finally
{
++i;
Console.WriteLine("finally:" + i);
}
}
static void Main(string[] args)
{
Console.WriteLine("Main:" + test1());
}
结果:
finally:3
Main:2
测试2:
public static int test2()
{
int i = 1;
try
{
throw new Exception();
}
catch
{
return ++i;
}
finally
{
++i;
Console.WriteLine("finally:" + i);
}
}
static void Main(string[] args)
{
Console.WriteLine("Main:" + test2());
}
结果:
finally:3
Main:2
测试3:
public static int test3()
{
try{}
finally
{
return 1;
}
}
结果:
编译错误,控制不能离开 finally 子句主体。
结论:
1.不管出没出现异常,finally块中的语句都会执行;
2.当try或catch块中有return语句时,finally块中的语句仍会执行;
3.finally块中的语句是在函数返回前执行的,但函数返回值是在finally块中语句执行前确定的;
4.finally块中不能包含return语句。
http://android.blog.51cto.com/268543/53141
http://ap0406708.iteye.com/blog/361487
- try, catch, finally, return的执行顺序
- try、catch、finally、return的执行顺序
- try、catch、finally、return的执行顺序
- try catch finally return 的执行顺序
- try、catch、finally、return的执行顺序
- try catch finally return 的执行顺序
- try catch finally return 的执行顺序
- try-catch-finally-return的执行顺序
- try、catch、finally、return的执行顺序
- try catch finally return 的执行顺序
- java中try catch finally与return的执行顺序
- try catch finally与return的执行顺序
- try catch finally与return的执行顺序
- try catch finally 与return的执行顺序
- try-catch-finally中finally的break,return执行顺序
- JAVA try..catch..finally与return执行顺序研究
- try-catch-finally return执行顺序
- try catch finally return 执行顺序
- C程序编译过程
- ATmega16L 的中断源及在GCC中的中断名
- android数据存储之SharedPreferences方式(全面 含 读 取)
- s3c2440 与LCD的浅析
- C语言程序>>USART
- try catch finally与return的执行顺序
- Arrays Question
- pkg-config的使用
- C语言程序>>SPI
- android 文件
- 12.20
- Android应用程序消息处理机制(Looper、Handler)分析
- python装饰器学习总结
- C语言程序>>LCD1602