Необходимо отслеживать два исключения
 Деление на 0 (исключение EZeroDivide). 
Выход за пределы диапазона (исключение RangeError). 
получилось, но чтото не так:
program Project2;
{$APPTYPE CONSOLE}
uses
  SysUtils;
const
 h1=pi/10;
 h2=20;
 var
 f:boolean=false;
 i,imax,imin,i_error:integer;
 y:array[-10..10] of extended;
 b:array[-10..10] of word;
 begin
writeln('Введите Imin и Imax в пределах -10...10');
write(' Imin=');
readln(imin);
write(' Imax=');
readln(imax);
try
   for i:=imin to imax do
   begin
   i_error:=i;
   y[i]:=1+1/(i*h1)
   end;
   for i:=imin to imax do
   begin
   i_error:=i;
   b[i]:=(300-i*h2)*50;
   end;
   except
   on EZeroDivide do
   begin
   writeln('Деление на 0');
   writeln(' при i=');
   i_error:=i;
   f:=true;
   end;
end;
if not f then writeln('OK');
readln;
end.
ошибку диапазона показывает ОК