首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

delphi 的try finally有必要用吗,该如何处理

2012-12-29 
delphi 的try finally有必要用吗一直来都很少用这个,都是动态创建完,在可能出异常的地方加 try except结构

delphi 的try finally有必要用吗
一直来都很少用这个,都是动态创建完,在可能出异常的地方加 try except结构,然后跟着把动态创建的free掉
比如
 
idh:=TIdHTTP.Create(nil);
 try
  idh.get('http://www.baidu.com',s);
  except

  end;

 idh.free;

我把这样的方式用在很多项目中,都没有出现问题
但看到大家都在用 try finally ,就纳闷了。delphi 的try finally有必要用吗?
[解决办法]
一般情况下当然没必要了,但是在构造对象,或者操作数据库,就很有必要了,一旦有异常如果你没加,对象就不能释放。
[解决办法]

引用:
引用:

一般情况下当然没必要了,但是在构造对象,或者操作数据库,就很有必要了,一旦有异常如果你没加,对象就不能释放。


为什么不能释放呢?按代码就是异常也会执行最后的free释放操作的


当每一步,都可能存在异常时,你不可能每步要全部的try except处理吧???
何况在try except中也有异常呢???

若用finally不就变得很简单了吗...

热点排行