E2126 BREAK, CONTINUE ou EXIT impossible hors d'une clause FINALLY (Delphi)

De RAD Studio
Aller à : navigation, rechercher

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

Parce qu'une clause FINALLY peut être saisie et quittée via le mécanisme de gestion d'exception ou via le contrôle de programme normal, le flux de contrôle explicite de votre programme ne sera peut-être pas suivi. Lorsque FINALLY est saisie via le mécanisme de gestion d'exception, il est impossible de quitter la clause avec BREAK, CONTINUE ou EXIT. Lorsque la clause FINALLY est exécutée par le système de gestion d'exception, le contrôle doit retourner au système de gestion d'exception.



  program Produce;

    procedure A0;
    begin
      try
        (* essayez quelque chose qui peut échouer*)
      finally
        break;
      end;
    end;

    begin
    end.

Le programme ci-dessus essaie de quitter la clause finally avec une instruction break. Il est incorrect de quitter une clause FINALLY de cette manière.



  program Solve;

    procedure A0;
    begin
      try
        (* essayez quelque chose qui peut échouer*)
      finally
      end;
    end;

    begin
    end.

La seule solution à cette erreur est de restructurer votre code afin que l'instruction incriminée n'apparaisse pas dans la clause FINALLY.