Tuesday, April 10, 2012

Is Result variable defined from first line in a function?

I need a clarification of this case.



According my tests the Result variable is defined to:
Boolean=False, Integer=0, String='', Object=nil etc from the first line.
But I have never seen an official reference for this.
It also make sense as this gives the hint.



[DCC Warning] Unit1.pas(35): H2077 Value assigned to 'TForm1.Test' never used



function TForm1.Test: Boolean;
begin
Result := False;
// Some arbitrary code here

Result := True;
end;


But what happens if I comment out the first line and there is an exception somewhere before last line? Is Result = False ?



If Result is undefined this means that I always have to start every function by defining Result in case of exception later. And this make no sense for me.





No comments:

Post a Comment