Главная страницаОбратная связьКарта сайта

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

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


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.


Обсудить статью на форуме


Если Вас заинтересовала или понравилась информация по разработке на Delph - "Обработка исключительных ситуаций", Вы можете поставить закладку в социальной сети или в своём блоге на данную страницу:

Так же Вы можете задать вопрос по работе этого модуля или примера через форму обратной связи, в сообщение обязательно указывайте название или ссылку на статью!
   


Copyright © 2008 - 2024 Дискета.info