有return的情况下try catch finally的执行顺序
来源:互联网 发布:淘宝专业刷信誉团队 编辑:程序博客网 时间:2024/05/22 06:15
背景:
昨天一个朋友出去面试,遇到这么一道题:“C# catch里有return,finally里还执行吗?”
个人实践小结:
1、不管有木有出现异常,finally块中代码都会执行。
2、当try和catch中有return时,finally仍然会执行。
具体案例如下(此处以没有返回值的函数进行验证):
3、如果是值传递,finally中改变的值对try或catch块中return返回的值无影响;如果是引用类型参数(地址传递或对象),finally中的值改变对return会产生影响。
具体案例:
引用案例--数组类型:
值案例--int类型:
思考:string类型属于引用类型,那么它的返回值会受到finflly的影响吗?还是来看案例吧-----其实string与int类型的表现一样,不会受到finally的影响:
思考:那么在finally中加上return,会产生什么影响呢?有图有真相:
可见,finally中是不允许出现return的,否则连编译都过不去。
0 0
- 有Return情况下的try catch finally执行顺序
- try-catch-finally的执行顺序(有return的情况)
- 各种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的情况下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的执行顺序
- Javascript继承机制的设计思想
- WebService第三课 使用CXF开发WebService客户端
- 重新初始化VS2010
- 字符设备驱动程序与用户程序交互示例
- js中的函数function
- 有return的情况下try catch finally的执行顺序
- Lesson9 Manipulating Data
- Lesson10 Using DDL Statements to Create and Manage Tables
- 厦门在建商场坍塌,又是一个豆腐渣
- Activity的生命周期 (Android review)
- Atitit.研发管理---TOGAF架构跟 (ADM开发方法)总结
- Getting Started with Solr 4.9 and Django haystack
- ubuntu上搭建工作环境
- 不要用scanf函数!!!!