How about.....

issues := nil;
terrorists := nil;
changes := TStringList.create;
try
  issues := TIssuesList.create;
  terrorists := THardToFind.create;

  ...

finally
  terrorists.free;
  issues.free;
  changes.free;
end;

Paul
DBSolutions


-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
On Behalf Of Nahum.Wild
Sent: Thursday, 4 March 2004 3:37 p.m.
To: 'NZ Borland Developers Group - Delphi List'
Subject: [DUG] try..finally : Which way is best?

Ok so this is something that has bugged me for ages, partly because I
don't
know and partly because I can't be bother trying to figure it out.

is the following code ok? or should I give each it's own try..finally?

--

changes := TStringList.create;
issues := TIssuesList.create;
terrorists := THardToFind.create;
try

// stuff is done, planes flown.  That type of things.

finally
  terrorists.free;
  issues.free;
  changes.free;
end;

--

I mean what could go wrong in the TStringList.create constructor for
example?  It's not like there should be anything much in there that
could go
wrong anyway?  Because if it does except the destructor will be
immediately
called - learnt that one the hard way many years ago.  As a general rule
of
thumb I don't put anything significant in a constructor for my own
classes -
that's what init or setup methods are for.

For the record I've never done it this way, I've always given each their
own
try..finally.

Thoughts anyone?



Nahum Wild
Software Innovator & Process Consultant
IFE
PayGlobal

_______________________________________________
Delphi mailing list
[EMAIL PROTECTED]
http://ns3.123.co.nz/mailman/listinfo/delphi

_______________________________________________
Delphi mailing list
[EMAIL PROTECTED]
http://ns3.123.co.nz/mailman/listinfo/delphi

Reply via email to