Keywords Delphi

Goto label


Description
The Goto keyword forces a jump to a given label.

It should Never be used in modern code since it makes code very difficult to maintain.

It is mostly used to force a termination of heavily nested code, where the logic to safely exit would be tortuous.

Never jump into or out of try statements, or into a loop or conditional block.

Be careful!

Notes
Use with extreme caution and when fully justified.


Related commands
Break Forces a jump out of a single loop
Continue Forces a jump to the next iteration of a loop
Exit Exit abruptly from a function or procedure
Halt Terminates the program with an optional dialog
RunError Terminates the program with an error dialog

Example code :
var
i : Integer;
label
GotoLabel;
begin
for i := 1 to 10 do
begin
ShowMessage('i = '+IntToStr(i));
if i = 4 then Goto GotoLabel; // Conditionally exit the loop
end;
ShowMessage('The loop finished OK');
GotoLabel:
ShowMessage('Loop finished with i = '+IntToStr(i));
end;

Show full unit code
i = 1
i = 2
i = 3
i = 4
Loop finished with i = 4