Delphi-Quellcode:
except
on E:
Exception do
begin
E.
Message := '
Fehler beim Öffnen der Datei!' + sLineBreak + E.
Message;
raise E;
end;
end;
3. das würde ich eher empfehlen > Text erweitern und
Exception weiterreichen) ... ist besonders vorteilhaft, wenn man auch mal außerhalb der Funktion auf diese
Exception reagieren will.
"raise E" führt zur Zugriffsverletzung, weil E im "end" des "on E" freigegeben wird. Statt "raise E" muss hier einfach nur "raise" stehen (ohne E), was die System.pas Funktion "Reraise" aufruft und dem 'end;' "mitteilt", dass E nicht freigegeben werden darf.
Delphi-Quellcode:
except
on E:
Exception do
begin
E.
Message := '
Fehler beim Öffnen der Datei!' + sLineBreak + E.
Message;
raise;
// hier kein "raise E", da sonst Zugriffsverletzung
end;
end;