有return如果是try catch finally运行命令
2024-10-11 11:19:07
背景:
昨天一个朋友出去采访,遇到这样的问题:“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的。否则连编译都过不去。
版权声明:笔者:jiankunking 资源:http://blog.csdn.net/jiankunking 本文版权归作者和CSDN合伙人,欢迎转载,但是,如果没有从本节宣布提交权限必须保留。并连接到原来的文章页给出视在位置。
最新文章
- ResultSetMetaData和DatabaseMetaData实现数据库中属性,属性值,属性所赋值的获取等
- Archlinux在Btrfs分区上的安装(bios篇)
- sails不是内部或外部命令的解决方案
- ubuntu下Eclipse无法启动
- Java核心编程快速学习
- Spring JDBC 示例
- 《精通android网络开发》--HTTP数据通信
- 树莓派初体验,安装Ubuntu 14.04 LTS
- DWM1000 巧用Status 快速Debug
- [LeetCode] Random Pick with Blacklist 带黑名单的随机选取
- Jenkins pipeline 并行执行任务流
- JAVA:IDEA使用Junit(3)
- CSS背景横向平铺BUG,解决方法
- IDEA 自动生成serialVersionUID
- Python3:input()输入函数的用法
- CSS:Tutorial three
- 【iOS开发】创建单例的两种方法
- vs2008下Error LINK2005: already defined in ...的一种解决方式
- linux安装php7
- Voyager的安装及配置文件