About the FPC feature
Try finally end; is used to make sure a reference counted or dynamically allocated resource is always released, e.g:
var a:Tobject;
begin
a:=Tobject.create;
try
// do something with a.
finally
a.free; Now after use clean up the instance
end;
Try except end; is to catch any exceptions that can be caused in the try block and handle those gracefully, e.g.
var a,b:integer;
begin
try
a:=1;
b:=0;
a :=a div b;
except
writeln('division by zero');
end;
Your last example is nonsense and should be:
try
try
except
end;
finally
end;