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