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:
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:goto marke;
La marque d'étiquette doit également être écrite avec un deux-points devant l'endroit qu'elle est censée désigner.label marke;
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:
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é.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;
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.