黑马程序员-try {}里有一个return语句,那么紧跟在这个try后的finally {}里的代码会不会被执行
来源:互联网 发布:原创歌曲网站软件 编辑:程序博客网 时间:2024/04/29 00:24
---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------
---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------详细请查看:www.itheima.com
static void Main(string[] args) { Console.WriteLine(GetIt()); Console.ReadKey(); } static int GetIt() { int i = 8; try { i++; Console.WriteLine("a"); return i;//把返回值设定为i,然后“尽快”返回(没啥事就回去吧) } finally { Console.WriteLine("b"); i++; } }
上面程序的执行结果是ab9
try{}里有一个return语句,那么紧跟在这个try后的finally {}里的代码会不会被执行,什么时候被执行?
会执行,在return后执行。
static void Main(string[] args) { //Console.WriteLine(GetIt()); Console.WriteLine(GetPerson().Age); Console.ReadKey(); } static Person GetPerson() { Person p = new Person(); p.Age = 8; try { p.Age++; Console.WriteLine("a"); return p;//把返回值设定为i,然后“尽快”返回(没啥事就回去吧。搞完就走) } finally { Console.WriteLine("b"); p.Age++; } }
补充回答(也助记):读取数据库中数据的条数的程序
public int QueryCount()
{
…..
try
{
return cmd.ExecuteScalar();
}
finally
{
cmd.Dispose();
}
}
先执行cmd.ExecuteScalar(),把返回值暂时存起来,然后再去执行finally(钱放在这,我去劫个色),然后把返回值返回。return都是最后执行,但是return后的表达式的计算则是在finally之前。
如果C#设计的是先执行cmd.Dispose()再执行return就会出现return执行失败了,因为cmd已经Dispose了。
---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------详细请查看:www.itheima.com
0 0
- 黑马程序员-try {}里有一个return语句,那么紧跟在这个try后的finally {}里的代码会不会被执行
- try{}里有一个return语句,那么紧跟在这个try后的finally{}里的代码会不会被执行,是在return前还是后
- try {}里有一个return语句,那么紧跟在这个try后的finally {}里的代码会不会被执行,什么时候被执行?
- try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后?
- try{}里有一个return语句,那么紧跟在这个try后的finally{}里的code会不会被执行,什么时候被执行,在return前还是后?
- try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后?
- try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后?
- try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后
- try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后?
- try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后?
- try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后?
- try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后?
- try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后?
- .try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后
- try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code 会不会被执行,什么时候被执行,在return前还是后?
- try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后?
- try {}里有一个 return 语句,那么紧跟在这个 try 后的 finally {}里的 code 会不会被执行,什么时候被执行,在 return 前还是后?
- try{}里有一个return语句,那么紧跟在这个try后的finally{}里的code会不会被执行,什么时候被执行?在return前还是后?
- Linux 下 netbeans 字体抗锯齿正解
- 《算法导论》笔记 第18章 18.2 对B树的基本操作
- ASP.NET 性能优化
- 继承关系
- Ubuntu 12.04 安装 Apache2+PHP5+MySQL
- 黑马程序员-try {}里有一个return语句,那么紧跟在这个try后的finally {}里的代码会不会被执行
- VB.NET小结——再聊面向对象
- 第九周(项目三)——分数类中的运算符重载。
- u-boot下spi norflash驱动大杂绘
- 嵌入式jetty jstl问题
- You must SET PASSWORD before executing this statement的解决方法
- SVN取消记住用户名,删除本地svn密码,修改本地svn密码
- Opencv Mat操作大全
- 24点算法(加括号)