Bom dia.
A documentação a seguir está no site do Lazarus mas é totalmente compatível com o FreePascal, pois o conteúdo a seguir é referente a linguagem e não a IDE, portanto não requer o Lazarus instalado para funcionar.
https://wiki.freepascal.org/Exceptions
Montei um pequeno programa para ilustrar o problema do arquivo, para essa situação específica você pode simplesmente testar se o arquivo existe utilizando a função FileExists da unit SysUtils.
Também coloquei uma procedure com um exemplo de tratamento de erros que é feito através dos comandos try/except.
program file_test;
{$MODE DELPHI}
{$IFDEF WINDOWS}
{$codePage UTF8}
{$ENDIF}
uses
SysUtils;
procedure TrataErrro;
var
LValor: Integer = 0;
begin
try
LValor := 5 div LValor;
WriteLn('erro de divisão por zero ', LValor);
except
on E: Exception do
begin
WriteLn('Ocorreu um erro ao tentar operação: ', E.Message);
end;
end;
end;
begin
if not FileExists('c:\temp\teste4.txt') then
WriteLn('Arquivo não existe.');
WriteLn('Programa continua');
TrataErrro;
end.