E2097 BREAK ou CONTINUE hors de boucle (Delphi)

De RAD Studio
Aller à : navigation, rechercher

Remonter à Messages d'erreur et d'avertissement (Delphi)

Le compilateur a trouvé une instruction BREAK ou CONTINUE qui n'est pas contenue dans une boucle WHILE ou REPEAT. Ces deux constructions ne sont correctes que dans des boucles.


program Produce;

  procedure Error;
    var i : Integer;
  begin
    i := 0;
    while i < 100 do
      INC(i);
      if odd(i) then begin
        INC(i);
  continue;
      end;
  end;

begin
end.

L'exemple précédent montre comment une instruction continue pourrait sembler incluse dans le corps d'une construction boucle mais, à cause de la nature de l'instruction compound du langage Delphi, elle ne l'est pas réellement.


program Solve;

  procedure Error;
    var i : Integer;
  begin
    i := 0;
    while i < 100 do begin
      INC(i);
      if odd(i) then begin
        INC(i);
  continue;
      end;
    end;
  end;

begin
end.

Souvent, il est simple de créer une instruction compound hors d'une construction boucle pour s'assurer que les instructions CONTINUE ou BREAK seront incluses.