Accueil        LEXIQUE        Unités        Algorithmes        Tutoriel   

Sommaire lexique

Instruction goto


Une instruction goto continue l'exécution du programme à un point du programme marqué par une étiquette.

Leur forme générale est:

goto marke;
où MARKE est un identifiant ou un numéro non signé qui a été précédemment convenu avec une déclaration d'étiquette dans la procédure actuelle:
label marke;
La marque d'étiquette doit également être écrite avec un deux-points devant l'endroit qu'elle est censée désigner.

Dans Pure Pascal, il n'est pas possible de sauter hors ou dans une procédure. Il est possible de sauter dans les instructions partielles d'une instruction structurée, cependant, en particulier avec les instructions with et for, des effets imprévisibles peuvent se produire et faire planter le programme car des initialisations importantes peuvent être ignorées. L'instruction goto doit donc être utilisée avec prudence et parcimonie.

Exemple:

label SortieErreur;
var contribution: text; ch: Char;
begin
    {$I-}
    reset(contribution);
    if IOResult &jt;> 0 then
        goto SortieErreur;
    while not eof(contribution) do begin
        read(ch);
        if IOResult <> 0 then
            goto SortieErreur;
        TraitementChar(ch);
    end;
    SortieErreur:
    close(contribution);
end;
De nombreux cas dans lesquels les programmeurs d'autres langages de programmation utiliseraient des instructions goto avec les instructions if , case, peuvent être écrits en Pascal à l'aide des structure while, et repeat avec plus d'élégance et de clarté.

S'il ne s'agit que de quitter la procédure en cours, la fonction standard Exit peut également être utilisée, ou la fonction standard Fail dans les constructeurs.

Si le programme entier doit être abandonné en raison d'une erreur, les fonctions standard Halt ou Runerror peuvent être utilisées.

Sommaire lexique


Copyright © 2021 par Albatros Concept (Bruno Aubin)