Описание |
Директива компилятора $IOChecks определяет, будет ли выдано исключение, когда при операции Ввода/Вывода происходит ошибка.
Когда происходит ошибка, значение по умолчанию {$IOChecks On} генерирует исключение EInOutError.
При {$IOChecks Off} исключение не генерируется. Вместо этого, ответственность за проверку операций ввода/вывода возлагается на IOResult подпрограмм.
|
|
Примечания |
Когда вызывается IOResult подпрограмма сбрасывает значение ошибки ввода/вывода в 0.
$IOChecks эквивалентен $I.
Эта директива может использоваться в пределах вашего кода множество раз.
Значение по умолчанию - $IOChecks On
|
|
Похожие команды |
$I Позволяет встроить код указанного файла в модуль
IOResult Содержит возвращаемый код последней операции ввода/вывода
| |
|
Пример кода : Попытка создать директорию дважды |
var
error : Integer;
begin // Попытка создать новый подкаталог в текущем каталоге // Выключение проверки ошибок ввода/вывода
{$IOChecks off}
MkDir('TempDirectory');
// Каталог создался?
error := IOResult;
if error = 0
then ShowMessage('Каталог создался')
else ShowMessageFmt('Создание каталога потерпело неудачу с ошибкой %d',[error]);
// Попытка создать новый подкаталог в текущем каталоге - произойдёт ошибка!
MkDir('TempDirectory');
error := IOResult;
if error = 0
then ShowMessage('Каталог создался снова')
else ShowMessageFmt('Повтор создания провалился с ошибкой %d',[error]);
// Удаление каталога для очистки
RmDir('TempDirectory');
// Включение проверки ошибок ввода/вывода
{$IOChecks on}
end;
|
Каталог создался
Повтор создания провалился с ошибкой 183
|
|