Erstens
niemals nicht über den Namen vegleichen.
Nachteil ist auch, dass der Name/Typ so
nicht vom Compiler geprüft wird.
Delphi-Quellcode:
try
...
except
on E:
Exception do
if E
is EIBInterBaseError
then
// nicht machen
else
raise;
end;
Delphi-Quellcode:
try
...
except
on E:
Exception do
if not (E
is EIBInterBaseError)
then
raise;
end;
oder wie bereits gezeigt
Delphi-Quellcode:
try
...
except
on E: EIBInterBaseError
do
;
// nichts
on E:
Exception do
raise;
end;
Zitat:
raise Exception.Create(E.Message);
Und wer das macht, wird auch gesteinigt.
Denn rate mal was hier passiert.
Delphi-Quellcode:
try
try
raise EIBInterBaseError.Create('
peng');
except
on E:
Exception do
raise Exception.Create(E.
Message);
// das Böse, wo der Typ sinnlos vernichtet wird ud Informationen verloren gehen
end;
except
on E: EIBInterBaseError
do
ShowMessage('
juhu');
on E:
Exception do
raise Exception.Create('
Danke (sarkastisch)');
// oder ShowMessage mit ganz bösem Icon
end;