(总结)try{}catch{}中有return,finally{}的执行情况
2015-11-04 17:15
337 查看
看下面的代码:
输出结果如下:
y的值为:3
x的值为:2
总结:
1、不管程序有没有错误,finally的语句都会执行;
2、当try或catch里有return语句时,程序走到return时,会先把要返回的结果临时保存起来,然后进入finally里执行,最后再把要返回的结果返回给调用者。
class Program { static void Main(string[] args) { int x = 0; x = GetValue(); Console.WriteLine(" x的值为:" + x); Console.ReadKey(); } public static int GetValue() { int y = 0; try { y = 1; return ++y; } catch (Exception) { return y = 0; } finally { y = y + 1; Console.WriteLine(" y的值为:" + y); } } }
输出结果如下:
y的值为:3
x的值为:2
总结:
1、不管程序有没有错误,finally的语句都会执行;
2、当try或catch里有return语句时,程序走到return时,会先把要返回的结果临时保存起来,然后进入finally里执行,最后再把要返回的结果返回给调用者。
相关文章推荐
- PHP中return 和 exit 、break和contiue 区别与用法
- 浅析return false的正确使用
- js怎么终止程序return不行换jfslk
- js中的异常处理try...catch使用介绍
- try catch finally的执行顺序深入分析
- 解析php中die(),exit(),return的区别
- C++ 异常处理 catch(...)介绍
- c语言中return与exit的区别浅析
- Ruby中的return、break、next详解
- 浅析echo(),print(),print_r(),return之间的区别
- PHP return语句另类用法不止是在函数中
- PowerShell中使用return语句退出函数例子
- Powershell中Finally语句用法示例
- javascript中的return和闭包函数浅析
- exit(-1)或者return(-1)shell得到的退出码为什么是255
- return false;和e.preventDefault();的区别
- JavaScript中return false的用法
- 记一次配置rewrite和return的经历
- finally最终执行块和throw与throws
- Python try except finally返回数据的问题