Обработка исключительных ситуаций
Попробуйте эту схему. У меня это работает.
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.
|