ВУЗ:
Составители:
Рубрика:
10
Имеется два способа обработки ошибок ввода/вывода. Первый способ при-
меняется при отключенном контроле над ошибками ввода/вывода (директива
компилятора {$I-}). Он состоит в использовании стандартной функции
IOResult, которая возвращает целочисленный результат последней операции
ввода/вывода. Если IOResult возвращает 0, то операция успешна, в противном
случае возвращается код ошибки. Приведем пример,
иллюстрирующий этот ме-
ханизм.
Пример 1. Составить функцию MyFileExists, проверяющую, существует
ли файл с именем name.
function MyFileExists(name: string): boolean;
var f: file;
begin
Assign(f,name);
{$I-}
Reset(f);
{$I+}
Result := IOResult=0
if Result then
Close(f);
end;
Отметим, что в модуле SysUtils имеется аналогичная функция FileExists.
Второй способ обработки ошибок ввода/вывода использует механизм исклю-
чений. Если контроль над ошибками ввода
/вывода включен (директива компиля-
тора {$I+}, этот режим действует в Delphi по умолчанию), то генерируется ис-
ключение.
Пример 2. Составить функцию MyFileExists, используя механизм обра-
ботки исключений.
Для реализации этого способа контроль над ошибками ввода-вывода должен
быть включен ({$I+}) и к программе должен подключаться модуль
SysUtils:
{$I+}
uses SysUtils;
function MyFileExists(name: string): boolean;
var f: file
;
begin
Assign(f,name);
try
Reset(f);
Close(f);
Result:=True;
Страницы
- « первая
- ‹ предыдущая
- …
- 6
- 7
- 8
- 9
- 10
- …
- следующая ›
- последняя »