Поскольку любая функция, содержащая вызовы
Приложение В.
. Поскольку любая функция, содержащая вызовы DOS, устанавливает в
значение 0 код ошибки, сохраняемый во внутренней области CT II,
постольку все вызовы данной функции, следующие после ее вызова со
значением .F. параметра <lKeepError>, будут возвращать 0.
Примеры
. Уточнение причины ошибки при копировании:
nBytes := FILECOPY("TEST\TEST.PRG", "NEW.PRG")
IF nBytes = 0 .AND. ERRORCODE() = 3
? "Путь доступа к файлу не найден!"
ENDIF
. Коды ошибок после ошибочного и успешного копирования:
// Исходный файл отсутствует
FILECOPY("XXXXX.TXT", "YYYY.TXT")
? ERRORCODE(.T.) // 2 (файл не найден)
? ERRORCODE() // 2 (файл не найден)
? ERRORCODE(.T.) // 0 (предыдущий вызов INT21h
// сбросил сохраняемое значение)
// Исходный файл доступен
FILECOPY("SOURCE.TXT", "TARGET.TXT")
? ERRORCODE(.T.) // 0 (успешное выполнение
// функции)
? ERRORCODE() // 2 (файл не найден, значение
// будет сохраняться до следующей
// ошибки)
See Also: ERRORACT()
ERRORBASE()
ERRORORG()
+-гК -Х¬¦-L DOS
ERRORORG()
Возвращает тип устройства, на котором произошла последняя ошибка.
------------------------------------------------------------------------------
Синтаксис
ERRORORG() --> nDevice
Возвращаемое значение
nDevice - приведенный в таблице числовой код типа устройства, на
котором произошла ошибка:
Таблица 12-4. Типы устройств DOS
--------------------------------------------------------------------
Код Тип устройства