Дать подходящее сообщение об ошибке —
верх справедливости.
—Старая пословица
Получив сообщение об ошибке,
сохраняйте спокойствие.
—Маленькая хитрость
Код | Сообщение | Описание |
---|---|---|
1 | NEXT without FOR (NEXT без FOR). | Встречен оператор NEXT, но отсутствует переменная, определенная посредством оператора FOR. Переменная в операторе NEXT не соответствует никакой ранее выполненной и не имеющей пары переменной оператора FOR. Либо в программе слишком много NEXT, либо ошибка в переменной, следующей за NEXT. |
2 | Syntax error (Синтаксическая ошибка). | Строка содержит неправильную последовательность символов (например, непарные скобки, неправильно написанная команда или оператор, неверная пунктуация и т.д.). Причиной ошибки является либо незнание синтаксиса, либо простая описка! |
3 | RETURN without GOSUB (RETURN без GOSUB). | Встречен оператор RETURN, для которого нет предыдущего, не связанного в другой паре,оператора GOSUB. Это,например,происходит когда конец основной программы и начало подпрограммы не разделены посредством END. |
4 | OUT of DATA (Исчерпаны данные DATA). | При выполнении оператора READ в операторе DATA не хватает данных. В программе отсутствует RESTORE или условие прекращения действия оператора READ. |
5 | Illegal function call (Неправильный вызов функции). | Это сообщение появляется обычно в том случае, если аргумент функции выходит за установленные пределы. Данная ошибка может произойти в следующих случаях:
|
6 | Overflow (Переполнение). | Результат вычисления превосходит формат представления числа в BASIC. Если появляется UNDERFLOW (потеря всех значащих цифр), то результат принимается равным нулю и выполнение программы продолжается без сообщения об ошибке. |
7 | Оut of memory (Выход за пределы памяти). | Программа слишком велика или содержит слишком много переменных (слишком большие массивы), слишком много циклов FOR…NEXT, переходов GOSUB (для которых требуются метки переходов в стеке). Иногда этого можно избежать, записывая массивы в файлы на дискете, исправляя распределение памяти соответствующими операторами CLEAR или записывая подпрограммы в двоичные файлы. В некоторых случаях можно хранить данные в неиспользуемых областях видеопамяти (VRAM). |
8 | Undefined line number (Не определен номер строки). | Обращение к несуществующей строке в операторах GOTO, GOSUB, IF…THEN…ELSE или DELETE. Новая строка, которая содержит только номер строки, также вызывает это сообщение. Обратите внимание, что команда RENUM обнаруживает недостающие переходы! |
9 | Subscript out of range (Выход за пределы массива). | Обращение к элементу массива с индексом, превышающим размерность массива или с недопустимым количеством индексов. |
10 | Redimensioned array (Повторное задание размерности массива). | Один и тот же массив упоминается в двух операторах DIM или используется оператор DIM для массива, который ранее был определен по умолчанию. Для изменения размерности массива его нужно предварительно уничтожить с помощью оператора ERASE. |
11 | Division by zero (Деление на нуль). | В выражении встречается деление на нуль, или возведение нуля в отрицательную степень (нуль в нулевой степени принимается равным 1). Помните, что значение будет приравнено нулю, если оно меньше минимального числа, представимого в компьютере MSX («машинного нуля»). |
12 | Illegal direct (Неправильная команда в режиме непосредственного выполнения). | В качестве команды режима непосредственного выполнения встречается оператор, недопустимый в этом режиме (например, DEFFN). |
13 | Type mismatch (Несоответствие типа). | Присвоение строковой переменной числового значения или наоборот; аргументу функции, которому должно быть присвоено числовое значение, присваивается строковое значение и наоборот. |
14 | Out of string space (Исчерпано место для строковых переменных). | Пространство в памяти,отведенное под строковые переменные по умолчанию (200 байтов) или посредством CLEAR, исчерпано. Следует перезадать размеры пространства, использовать файлы (дискету) или записать строки в неиспользуемые области видеопамяти (VRAM). |
15 | String too long (Слишком длинная строка). | Попытка создания строки длиной более 255 символов. Такая строка должна быть разделена на меньшие части. |
16 | String formula too complex (Строковое выражение слишком сложно). | Слишком длинное или слишком сложное строковое выражение. Его следует разбить на более короткие выражения. |
17 | Can't continue (Продолжение невозможно). | Сделана попытка продолжения программы, которая:
|
18 | Undefined user function (Неопределенная функция пользователя). | Вызов функции USR до того, как задано ее определение. |
19 | Device I/O error (Ошибка устройства ввода/вывода). | Произошла ошибка во время операции ввода–вывода.Это может произойти, например, когда CTRL+STOP прерывает операцию чтения с кассетной ленты. |
20 | Verify error (Ошибка верификации). | Содержимое памяти или файла при проверке оказывается другим. Эта ошибка может появиться при использовании команды CLOAD. |
21 | No RESUME (Отсутствует оператор RESUME). | В программе обработки ошибок нет оператора RESUME. |
22 | RESUME without ERROR (Оператор RESUME при отсутствии ошибки). | Оператор RESUME встречается прежде,чем запускается программа обработки ошибок. |
23 | Unprintable error (Ошибка без вывода текста сообщения). | Насколько известно, такая ошибка может быть вызвана только в результате действия оператора ERROR (имитация ошибки). |
24 | Missing operand (Пропущенный операнд). | Выражение содержит оператор без последующих операндов; в команде/операторе отсутствуют обязательные параметры. |
25 | Line buffer overflow (Переполнение буфера строки). | Попытка ввести с помощью оператора INPUT строку, содержащую более 255 символов (из файла). |
26–49 | Unprintable error | (См. 23). |
50 | Field overflow (Переполнение поля). | Попытка размещения оператором FIELD количества байтов,превышающеето, которое определено для записи в файл произвольного доступа. |
51 | Internal error (Внутренняя ошибка). | Неисправность. Произведите «сброс» нажатием клавиши RESET, либо выключением компьютера. |
52 | Bad file number (Неправильный номер файла). | Оператор или команда обращается к файлу с номером, для которого не был выполнен оператор OPEN, или этот номер превышает число, заданное в операторе MAXFILES. |
53 | File not found (Файл не найден). | Оператор/команда LOAD, KILL, NAME или OPEN обращается к файлу, не существующему на данной дискете. |
54 | File already open (Файл уже открыт). | Оператор режима последовательного вывода OPEN задан для файла, который уже открыт таким оператором; либо оператор KILL относится к открытому файлу. |
55 | Input past end (Ввод после конца файла). | Оператор INPUT пытается прочитать больше данных, чем есть в файле. Во избежание этой ошибки используйте функцию EOF для обнаружения конца файла. |
56 | Bad file name (Неправильное имя файла). | В операторах LOAD, SAVE, KILL или OPEN использовано неверное имя файла (например, имя файла, в котором слишком много символов). |
57 | Direct statement in file (Оператор прямого режима в файле недопустим). | Оператор прямого режима встречен при загрузке файла в формате ASCII оператором LOAD. Действие LOAD прекращается. Выдается также при попытке загрузить командой типа LOAD двоичный файл. |
58 | Sequential I/O only (Только последовательный ввод–вывод). | Использование операторов GET или PUT для файла,который был открыт посредством оператора OPEN как последовательный файл. |
59 | File not OPEN (Файл не открыт с помощью команды). | Команда (оператор) ввода/вывода используется для файла, который не был открыт оператором OPEN. |
60 | Bad FAT (Неверная информация в FAT(таблице распределения файлов)). | Файловая таблица распределений FAT не в порядке. Вероятно, дискета не была инициализирована с помощью команды FORMAT. |
61 | Bad file mode (Неверный режим обращения к файлу). | Сделана попытка использовать операторы PUT, GET или LOF по отношению к файлу последовательного доступа, загрузить командой LOAD файл произвольного доступа, или выполнить оператор OPEN в неподходящем файловом режиме. |
62 | Bad drive name (Неправильное имя дисковода). | Использовано неправильное имя дисковода. |
63 | Bad sector number (Неправильный номер сектора). | В последней версии дискового MSX BASIC этой ошибки не должно быть! |
64 | File still open (Файл все еще открыт). | Файл не был закрыт оператором CLOSE. |
65 | File already exists (Файл уже существует). | Имя файла, определенное в операторе NAME, является идентичным имени файла, уже имеющегося на дискете. |
66 | Disk full (Дискета заполнена до предела). | RAM disk full (Виртуальный диск ОЗУ уже заполнен). |
67 | Too many files (Слишком много файлов). | Попытка создания нового файла(использование команд SAVE или OPEN), когда все 255 элементов каталога заполнены. |
68 | Disk write protected (Дискета защищена от попыток записи). | Дискета защищена от попыток записи. |
69 | Disk I/O error (Ошибка при вводе/выводе на дискету). | Неисправляемая ошибка, возникающая при выполнении операторов ввода–вывода на дискету. |
70 | Disk offline (Дисковод в автономном режиме или выключен). | RAM disk offLine (Отключен виртуальный диск; ошибка для компьютера серии MSX-2). |
71 | Rename across disks (Ошибка переименования файла). | Сделана попытка переименования файла с новым идентификатором дисковода. Это не допускается! |
72–255 | Unprintable error (Ошибка без вывода текста сообщения). | См. 23. |
Внимание!
«Unprintable error».
«No RAM disk».