БОЛЬШОЙ FAQ ПО DELPHI



Обработка исключительных ситуаций

Попробуйте эту схему. У меня это работает.


 procedure part_of_starting_up(n: string....)
 var
   f: typed file;
 begin
   try
     try
       assign / reset(f, n);
       while not eof(f) do
         read_and_process_each_record(f);
     finally
 {$I-} { Нет необходимости жаловаться, если закрытие прошло неудачно. }
       close(f);
 {$I+}
     end;
   except
     on E: EInOutError do
       case e.ErrorCode of
         nn1: messagedlg('невозможно найти/открыть файл');
         nn2: messagedlt('ошибка чтения файла');
       end;
   end
   // (и т.д.)
 

Имейте в виду, что для типа функции, которую вы используете, вы получите одно и то же исключение с именем EInOutError. Чтобы узнать показываемое сообщение об ошибке, необходимо использовать errorcode.




<< ВЕРНУТЬСЯ В ОГЛАВЛЕНИЕ



Материалы находятся на сайте https://exelab.ru/pro/



Видеокурс ВЗЛОМ