next up previous contents index
Next: Exp Up: Functions and Procedures Previous: Erase

Exit

   

Declaration:

Procedure Exit ([Var X : return type )] ;

Description:

Exit exits the current subroutine, and returns control to the calling routine. If invoked in the main program routine, exit stops the program.

The optional argument X allows to specify a return value, in the case Exit is invoked in a function. The function result will then be equal to X.

Errors:

None.

See also:

Halt

Example
Program Example21;

{ Program to demonstrate the Exit function. }

Procedure DoAnExit (Yes : Boolean);

{ This procedure demonstrates the normal Exit }

begin
  Writeln ('Hello from DoAnExit !');
  If Yes then
    begin
    Writeln ('Bailing out early.');
    exit;
    end;
  Writeln ('Continuing to the end.');
end;

Function Positive (Which : Integer) : Boolean;

{ This function demonstrates the extra FPC feature of Exit : 
  You can specify a return value for the function }

begin
  if Which>0 then
    exit (True)
  else
    exit (False);
end;   

begin
  { This call will go to the end }
  DoAnExit (False);
  { This call will bail out early }
  DoAnExit (True);
  if Positive (-1) then 
    Writeln ('The compiler is nuts, -1 is not positive.')
  else
    Writeln ('The compiler is not so bad, -1 seems to be negative.');
end.



Michael Van Canneyt
Thu Sep 10 14:02:43 CEST 1998