17. СООБЩЕНИЯ ОБ ОШИБКАХ
17.1. СТРОЧНЫЕ СООБЩЕНИЯ
Когда Вы вводите команду в TRDOS, команда будет выполнена при условии, что она
достоверна. Если эта команда не относится к числу вызванных TRDOD (LOAD,RUN, FORMAT
и т.д.), TRDOS проигнорирует ее. Если имеется синтаксическая ошибка или ошибка возникает
при выполнении команды, на дисплее появится сообщение об ошибке. Ниже приведены
сообщения об ошибках и причины, их вызывающие.
NO DISK диск отсутствует или в дисководе неформатированный
диск, или открыта заслонка диска. На экране возникает
команда после подсказки А>, Вы можете вставить диск
и/или закрыть заслонку дисковода и нажать ENTER
для выполнения той же команды.
NO FILE(S) (Нет файла(ов)) TRDOS не может найти файла на
диске. Эта ошибка появляется также в случае исполь-
зования любой команды, которая неправильно обозна-
чает файл, например:
LOAD"TEST"CODE вместо того, чтобы LOAD"TEST"
ERASE"DUMMY1 "DATA вместо того, чтобы ERASE
"DUMMY2-DATA"
• ERROR Это сообщение появляется, если в команде, которую
Вы напечатали,есть синтаксическая ошибка, например:
SAVE-CJ"
ERASE
- Ошибка в команде SAVE - это лишнее (*), а название
файла отсутствует в команде ERASE.
OUT OF MEMORY (Нет памяти) Это сообщение появится при загрузке
программы с диска и при отсутствии достаточного места
в памяти для нее и при использовании команды MOVE,
если в наличии нет4К необходимого рабочего прост-
ранства. Эта проблема обычно решается с помощью
сброса компьютера.
FILE EXISIS (Файл существует) Файл того же названия и типа,
который Вы пытались записать, уже существует на
диске.
OVERWRITE (Перезапись на существующий файл?) (д/н). Это сооб-
EXISINGFILE? щение появляется при копировании всех файлов с од-
(Y/N) ного диска на другой. Уже существует файл с таким
названием и такого же типа на диске назначения. Вы
можете ввести Y с целью перезаписи на существующий
файл или N с целью игнорирования этого файла.
DISK ERROR (Ошибка на диске) На диске имеется неисправность на
дорожке XX, в секторе УУ, как указано в сообщении.
У Вас есть три выбора: Вы можете напечатать "R", чтобы
сделать повторную попытку и, в большинстве случаев
успешно завершить операцию; "А" - чтобы прервать
операцию и вернуться в TRDOS; "1" - чтобы проигнори-
ровать этот сектор и продолжить работу с остальными
операциями.
DISK ERROR
TRK XX SEC YY
RETRY,ABORT, IGNORE?
WRITE PROTECT (Защита от записи) Диск защищен от записи. Как и в
вышеприведенном варианте, здесь существует три
выбора. Однако нет смысла делать повторную попытку,
если Вы не изменили диск или не сделали его незащи-
щенным.
DISK WRITE PROTECT
TRK О SEC 1
RETRY, ABORT, IGNORE?
VERIFY ERROR (Ошибка проверки) Это сообщение может появиться,
когда используется команда VERIVFY (проверка). Сооб-
щение информирует, что файл на диске - не тот же,
что и файл в памяти.
17.2. КОДЫ ОШИБОК
Все вышеназванные сообщения об ошибках появляются только тогда, когда ввод
производится с TRDOS. Если команда была выдана с SOS или с машинного кода, либо в
качестве прямого кода, либо из программы, на экране не появится никакого сообщения.
Однако они записываются в виде CODE в регистровой паре Z80. Для кода используются
следующие значения:
0 - нет ошибок
1 - нет файла
2 - файл существует
3 - нет пространства
4 - указатель переполнен
5 - переполнение номера записи
6 - нет диска
7 - ошибки на диске
8 - ошибки синтаксиса
10 - поток уже открыт
11 - диск неформатирован
12 - поток не открыт
Чтобы получить код ошибки, устанавливаетсяя переменная, равная команде TRDOS. Эта
переменная примет величину кода ошибки по завершении команды TRDOS
Пример 1:
LET A = USR 15619:REM:CAT
Пример 2: Простая программа, иллюстрирующая использование кода ошибки 1.
10 СОЕAR 65367
20 LET ERR=USR 15619:REM:LOAD"COPY"CODE
25 REM ERROR CODE IS RETURNED IN THE VARIABLE ERR
(код ошибки возвращается в переменную ERR)
30 IF ERR-1 THEN CLS:PRINT AT 10,1;"""COPY"CODE NOT ON DISK": STOP
40 RANDOMIZE USR 32768
50 RANDOMIZE USR 15616