E2126 BREAK, CONTINUE oder EXIT bei FINALLY-Klausel nicht möglich (Delphi)
Nach oben zu Fehler- und Warnungsmeldungen (Delphi)
Wenn ein Programm während der Exception-Behandlung in eine finally-Klausel eintritt, ist es nicht möglich, die Klausel mit break, continue oder exit zu verlassen, da die Steuerung an das Exception-Behandlungssystem zurückgegeben werden muss. Wenn in FINALLY durch den Exception-Behandlungsmechanismus eingetreten wird, kann die Klausel nicht mit BREAK, CONTINUE oder EXIT verlassen werden - wenn die finally-Klausel von dem Exception-Behandlungssystem ausgeführt wird, muss die Steuerung auch an das Exception-Behandlungssystem zurückgegeben werden.
program Produce; procedure A0; begin try (* etwas probieren, was fehlschlagen kann *) finally break; end; end; begin end.
Das obige Programm versucht, die finally-Klausel mit einer break-Anweisung zu verlassen. Das ist nicht erlaubt.
program Solve; procedure A0; begin try (* etwas probieren, was fehlschlagen kann *) finally end; end; begin end.
Die einzige Lösung für dieses Problem besteht darin, die Fehler verursachende Anweisung aus der finally-Klausel herauszunehmen.