E2093 L'étiquette '%s' n'est pas déclarée dans la procédure en cours (Delphi)
Remonter à Messages d'erreur et d'avertissement (Delphi)
Au contraire du Pascal standard, le langage Delphi de Borland n'autorise pas un goto à sortir de la procédure courante.
Cependant, cette construction étant principalement utilisée pour la gestion des erreurs, le langage Delphi fournit un mécanisme pour traiter les erreurs plus général et plus structuré : la gestion d'exception.
program Produce; label 99; procedure MyProc; begin (*Something goes very wrong...*) goto 99; end; begin MyProc; 99: Writeln('Fatal error'); end.
Cet exemple essaie d'arrêter le calcul en effectuant un goto non local.
program Solve; uses SysUtils; procedure MyProc; begin (*Something goes very wrong...*) raise Exception.Create('Fatal error'); end; begin try MyProc; except on E: Exception do Writeln(E.Message); end; end.
Dans notre solution, nous avons utilisé le gestionnaire d'exception pour arrêter le programme. Ceci présente l'avantage que nous pouvons aussi transmettre un message d'erreur. Une autre solution consisterait à utiliser les procédures standard Halt ou RunError.