Delphi World - это проект, являющийся сборником статей и малодокументированных возможностей  по программированию в среде Delphi. Здесь вы найдёте работы по следующим категориям: delphi, delfi, borland, bds, дельфи, делфи, дэльфи, дэлфи, programming, example, программирование, исходные коды, code, исходники, source, sources, сорцы, сорсы, soft, programs, программы, and, how, delphiworld, базы данных, графика, игры, интернет, сети, компоненты, классы, мультимедиа, ос, железо, программа, интерфейс, рабочий стол, синтаксис, технологии, файловая система...
Обработка исключительных ситуаций

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


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.

Проект Delphi World © Выпуск 2002 - 2004
Автор проекта: ___Nikolay