Директива компилятора $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