Michael, what do you think about the following popular nested 
try-except-finally construct? 

try
  try
    ...
  except
    ...
  end;
finally
  ...
end;

My understanding of your last statement is the above construct is superfluous. 
Did it what you mean? If yes, is it only true in objfpc mode?

Thanks.



----- Original Message ----
From: Michael Van Canneyt <mich...@freepascal.org>
To: FPC-Pascal users discussions <fpc-pascal@lists.freepascal.org>
Sent: Tue, July 6, 2010 7:22:36 PM
Subject: Re: [fpc-pascal] methods of an object to create others objects

On Tue, 6 Jul 2010, Graeme Geldenhuys wrote:

> On 5 July 2010 23:17, Michael Van Canneyt wrote:
>>
>> I would even add to this that you need to guard for exceptions:
>>
>> A:=TSomeClass.Create;
>> try
>>  // do stuff
>> finally
>>  A.Free; Make sure it is freed, even in case of exception.
>> end;
>
>
> Wouldn't it be nice if we had a try..except..finally statement
> supported in FPC. All-in-one.
>
> eg:
>
> A := TSomeClass.Create;
> try
>  // do stuff
> except
>  // handle error
> finally
>  A.Free; //  it is freed, even in case of exception.
> end;
>
>
> This would save such a lot of typing and indentation.

In this particular case you don't need the finally at all.
If you catch the exception, code will execute normally after the except
block. You don't need the finally then.

Michael.


      
_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal

Reply via email to