[Overview][Constants][Types][Classes][Procedures and functions][Variables][Index] | Reference for unit 'System' (#rtl)

# Break

Exit current loop construct.

## Declaration

Source position: system.fpd line 35

`procedure Break;`

## Description

Break jumps to the statement following the end of the current repetitive statement. The code between the Break call and the end of the repetitive statement is skipped. The condition of the repetitive statement is NOT evaluated.

This can be used with For, var{repeat} and While statements.

Note that although Break is a compiler intrinsic (i.e. is treated specially) it is defined as a procedure in the system unit, and hence can be redefined.

## Errors

None.

## See also

Continue |  | Continue with next loop cycle.
Exit |  | Exit current subroutine.

## Example

    Program Example87;

    { Program to demonstrate the Break function. }

    Var I : longint;

    begin
      I:=0;
      While I<10 Do
        begin
        Inc(I);
        If I>5 Then
          Break;
        Writeln (i);
        end;
      I:=0;
      Repeat
        Inc(I);
        If I>5 Then
          Break;
        Writeln (i);
      Until I>=10;
      For I:=1 to 10 do
        begin
        If I>5 Then
          Break;
        Writeln (i);
        end;
    end.

## Example

    {
      Example 121:
      Continue, break and exit are system procedures.
      They can be redefined
    }

    procedure continue;

    begin
      Writeln('Continue');
    end;

    Procedure Exit;

    begin
      Writeln('exit');
    end;

    Procedure Break;

    begin
      Writeln('Break');
    end;

    begin
      Repeat
        Continue;
        Break;
        exit;
      Until True;
    end.