Hi,
mag sein das das ne doofe Frage ist, aber ich steh grad auf dem Schlauch.
Erstmal ein Beispiel:
Delphi-Quellcode:
type
EFooException =
class(
Exception);
EBarException =
class(
Exception);
implementation
procedure DoRaiseSomething(foo: boolean);
begin
if foo
then
raise EFooException.Create('
Some-')
else
raise EBarException.Create('
-thing');
end;
Kann ich nun diese Exceptions die z.B. aus einer Basisklasse kommen in einer abgeleiteten Klasse abfangen und möglicherweise 'übersetzen' bzw. als gleiche
Exception aber mit anderem Text weiterraisen? Also im Stil von:
Delphi-Quellcode:
procedure SolveSomething(bar: boolean);
begin
try
DoRaiseSomething(bar);
except
on EFooException do raise EFooException.Create('Ein Foo-Fehler ist aufgetreten.');
on EBarException do raise EBarException.Create('Ein Bar-Fehler ist aufhetreten.';
end;
end;
Geht das, oder bleibt mir die ursprüngliche
Exception dann auch bestehen und wird mitgeraised?
Edit: Tippfehler en masse