Du kannst sie ja selber wieder werfen:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
function Zero: Integer;
begin
Result := 0;
end;
function Test1: Integer;
begin
Result := 10 div Zero;
end;
function Test2: Integer;
begin
Result := 20 div Zero;
end;
function TestX: Integer;
begin
try
Result := Test1;
except
Result := Test2;
raise;
end;
Result := Test2;
end;
begin
try
ShowMessage(IntToStr(TestX));
except
ShowMessage('Fehler');
end;
end;
So wird Test2 aufgerufen und dessen
Exception schlägt durch, die von dem Aufruf von Test1 geht dabei verloren. Wirft Test2 keine, schlägt die von Test1 durch.
Das müsstest du eben entsprechend anpassen, aber so sollte das realisierbar sein.