E2093 Label '%s' ist in der aktuellen Prozedur nicht deklariert (Delphi)

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Fehler- und Warnungsmeldungen (Delphi)

Im Gegensatz zu Standard Pascal sind in Borland Delphi keine goto-Anweisungen erlaubt, die aus der Prozedur herausführen.

Solche Konstrukte werden gern zur Fehlerbehandlung eingesetzt. In Delphi steht für die Behandlung von Fehlern ein umfassenderer und strukturierter Mechanismus zur Verfügung, die so genannte Exception-Behandlung.


program Produce;

label 99;

procedure MyProc;
begin
  (*Ein Fehler tritt auf...*)
  goto 99;
end;

begin
  MyProc;
  99:
    Writeln('Schwerwiegender Fehler');
end.

In diesem Beispiel wird versucht, die Verarbeitung durch eine aus der Prozedur MyProc herausführende goto-Anweisung zu unterbrechen.


program Solve;

uses SysUtils;

procedure MyProc;
begin
  (*Ein Fehler tritt auf...*)
  raise Exception.Create('Schwerwiegender Fehler');
end;

begin
  try
    MyProc;
  except
    on E: Exception do Writeln(E.Message);
  end;
end.

Hier wird der Programmablauf durch die Exception-Behandlung unterbrochen. Dabei kann zugleich eine Fehlermeldung übergeben werden. Eine weitere Möglichkeit besteht in der Verwendung der Standardprozeduren Halt oder RunError.