读书人

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

发布时间: 2012-12-29 10:28:09 作者: rapoo

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不就变得很简单了吗...

读书人网 >.NET

热点推荐