In diesem Fall ist es ja einfach, denn es gibt bereits eine "andere"
Exception-Klasse.
Delphi-Quellcode:
else
begin
raise EClipboardException.Create('Cannot read clipboard after fifty attempts');
Aber es ist ebenfalls extrem unschön, wenn man die eigentliche
Exception sinnlos vernichtet.
Delphi-Quellcode:
else
begin
raise EClipboardException.Create('Cannot read clipboard after fifty attempts'#10#10 + E.Message);
Delphi-Quellcode:
// hier bleibt im nächsten E.InnerException die ursprüngliche Exception erhalten
else
begin
Exception.RaiseOuterException(EClipboardException.Create('
Cannot read clipboard after fifty attempts');
Schade ist nur, dass hauseigenen im ShowException von Delphi so Eingies einfach grob fahrlässig vergessen wurde,
aber zumindestens innerhalb des Programms kommt man dennoch an InnerException ran.