[fpc-devel] Defer keyword
Ryan Joseph
genericptr at gmail.com
Thu May 6 19:53:03 CEST 2021
> On May 6, 2021, at 11:39 AM, J. Gareth Moreton via fpc-devel <fpc-devel at lists.freepascal.org> wrote:
>
> In the example given:
>
> obj := TObject.Create;
> defer objects.Free;
>
> What's wrong with Pascal's existing functionality?
>
> obj := TObject.Create;
> try
> ...
> finally
> objects.Free;
> end;
>
> If there's a concern about performance penalty, maybe the compiler can work something out for simple finally blocks and just copy the code to any Exit nodes found rather than calling the pseudo-procedure that a try...finally block creates.
I didn't know try..finally even worked like that. :) I thought it was just for exceptions but I see it captures exit also. The defer keyword is nicer on the eyes I would say because it don't require wrapping the entire function in a big block of code.
So never mind then I guess. I'll start using try..finally and see how that works for me.
Regards,
Ryan Joseph
More information about the fpc-devel
mailing list