Ejecuta esa sentencia dentro de un try..except.
Guarda el mensaje de error de la excepción.
Código Delphi
[-]
procedure TDMMain.Log(s: string);
var
F : TextFile;
FileName : string;
begin
FileName := ChangeFileExt(Application.ExeName, '.log');
AssignFile(F, FileName);
try
Append(F);
except
try
Rewrite(F);
except
on e: Exception do
ShowMessage('Error al abrir fichero : ' + FileName + #13#10 + e.Message);
end;
end;
WriteLn(F, FormatDatetime('[yyyy-mm-dd hh:nn:ss.zzz] ', Now) + s);
CloseFile(F);
end;
procedure TDMMain.LeeFicheroExel(sRuta: string);
[...]
try
FExcel.WorkBooks.Open(sRuta);
Log('Fichero abierto correctamente (' + sRuta + ')');
except
on E:Exception do
begin
Log('Error abriendo fichero. (' + sRuta + ')' + #13#10 + E.Message);
end
end;
[...]