{$codepage utf8} {$mode objfpc} Uses sysutils; Var Arch:File of longint; NombreArch:Unicodestring; j,i:longint; Begin NombreArch:='numeros.dat'; Assign(Arch,NombreArch); Rewrite(Arch); j:=0; try try for i:= 1000 downto 0 do Begin j:=j + j div i; //al llegar a cero crea un error Write(Arch,j); End; except on EDivByZero do Writeln('Error division por cero'); end; finally Writeln('Siempre se cierra el archivo'); Close(Arch) End; End.