C#中异常处理语句Finally
2016-04-04 11:56
344 查看
转自:http://zhidao.baidu.com/link?url=SsYrrtv7MchPg08WaUyF_KB3_BxPkwXrszswBlKS4Sb_0KKjNTZ4_rTjrFbGHhk5CHM8f9uNI4_rQDc18osAnlkkWd1Iuna6T6pxWX4WuU3
finally 代码块中的代码是 try-catch 结构执行完后无论有无异常发生都会执行的。finally 代码块中的代码是 try-catch 结构执行完后无论有无异常发生都会执行的。finally 代码块中的代码是 try-catch 结构执行完后无论有无异常发生都会执行的。
重要的事情说三遍。重点要强调的是,finally 的执行条件只有这一个。
为什么要这么强调。是因为你很可能在 try-catch 里直接 return 啊 break 啊 continue 啥的,导致跳出 try-catch 结构。你可能会想当然的认为既然我 return 了直接返回结果 finally 里的代码就不会执行。这是错误的!因为 finally 执行条件只是【try-catch 结构执行完】,即使 try-catch 里 return 了,依然还是会先执行 finally 里的代码,然后才会真的 return。
而你要是不用 finally,直接把最后要统一执行的代码放在 try-catch 外面,那 try-catch 一 return,你的代码就不会被执行了。
所以 finally 最常用的地方是在里面释放对象占用的资源的。
finally 代码块中的代码是 try-catch 结构执行完后无论有无异常发生都会执行的。finally 代码块中的代码是 try-catch 结构执行完后无论有无异常发生都会执行的。finally 代码块中的代码是 try-catch 结构执行完后无论有无异常发生都会执行的。
重要的事情说三遍。重点要强调的是,finally 的执行条件只有这一个。
为什么要这么强调。是因为你很可能在 try-catch 里直接 return 啊 break 啊 continue 啥的,导致跳出 try-catch 结构。你可能会想当然的认为既然我 return 了直接返回结果 finally 里的代码就不会执行。这是错误的!因为 finally 执行条件只是【try-catch 结构执行完】,即使 try-catch 里 return 了,依然还是会先执行 finally 里的代码,然后才会真的 return。
而你要是不用 finally,直接把最后要统一执行的代码放在 try-catch 外面,那 try-catch 一 return,你的代码就不会被执行了。
所以 finally 最常用的地方是在里面释放对象占用的资源的。
相关文章推荐
- C#判断一个string是否为数字
- C# mvc--ORM框架中EF的作用和特点
- C# mvc--EF中查询的本质
- c# abstract抽象类与继承类子类的构造函数_base
- C# mvc--EF引用程序集 和EDMX中相关的文件说明
- C#冒泡排序法及优化
- C# Encoding
- C# 读取EXCEL文件的三种经典方法
- 笔记:在C#中进行事务处理
- 用C#写的15子游戏
- C#中用PadLeft、PadRight 补足位数
- C# TreeView控件动态组树(可控制节点级别)
- C#转义字符
- C#的数据类型简介
- C#中OnLoad事件和Form1_Load事件的区别
- C,C#,WebService结构体数组返回问题--谐解
- 各种颜色RGB值【附c#中获取颜色的argb值】
- c#中获取颜色的argb值
- C#中用ILMerge将所有引用的DLL和exe文件打成一个exe文件(图解)
- C#数组复制操作