如何将异常处理的代码放在Delphi异常处理程序中?

我正在编写一个错误处理程序,试图修复或减轻错误。如果缓解代码错误,我想忽略缓解错误并提出原始错误。这是我编写的错误处理程序。

try
  // <Normal code>
  raise Exception.Create('Original error');
except
  on E: Exception do
  try
    // <Attempt to mitigate the error>  // If successful will continue without an exception
    raise Exception.Create('Mitigation error'); 
  except
    raise E;  // Mitigation failed, raise original error
  end;
end;

上面的方法不起作用。当缓解异常触发时,应用程序陷入混乱的无效指针。

有谁知道如何做到这一点?