Здесь приведен список сообщений об ошибках, которые вы можете встретить в процессе написания и отладки функций Автолиспа. Они выводятся стандартным обработчиком ошибок Автолиспа в виде:
error: сообщение
|
function undefined for argument incorrect number of arguments to a function
|
Аргументы, переданные в функцию Автокада, были неверны (например, попытка задать значение с помощью
GETVAR несуществующей системной переменной или переменной, разрешенной только для чтения) или же в данном контексте сама функция неверна. К примеру, Вы не можете пользоваться функциями GETxxx из функции COMMAND.
В функцию был передан неверный тип аргумента. (Например, вы не можете выполнить функцию
STRLEN над целочисленным аргументом.)
Список, переданный в функцию
ASSOC, не состоит из списков "(ключ значение)".
Аргумент переданный в функцию
ENTMOD, не свойственный для списка данных примитива (возвращаемого функцией ENTGET).
Выполняя функцию, Автолисп обнаружил неверный список формальных аргументов. Возможно это вовсе и не функция, а список данных.
Первый элемент списка - недопустимое имя функции. Возможно это имя переменной или число.
В функцию был передан неверно сформированный список. Это может произойти, если действительное число начинается с десятичной точки; в подобных случаях необходимо число начинать с нуля.
Функция
TYPE столкнулась с элементом неверного типа.
Функция
FOREACH столкнулась с элементом неверного типа.bad point argument
В функцию, ожидающую точку, была передана неверно специфицированная точка. Будьте внимательны, не начинайте действительное число с десятичной точки; в подобных случаях необходимо число начинать с нуля.
Та же ситуация, что
описана выше.
Первый аргумент в функции
BOOLE должен быть целым числом между 0 и 15.
Эта ошибка может произойти в случае неверного размещения десятичной точки или неверно сформированного выражения.
В то время, как выполнялась функция, пользователь нажал
Ctrl+Pause или Ctrl+C.
Недопустимое деление на ноль.
Встречено одна или более лишних правых скобок.
Описатель файла для операции ввода/вывода относится не к открытому файлу.
На запрос о вводе данных пользователь нажал
Ctrl+Pause или Ctrl+C.
function undefined for argument
Аргумент, переданный в функции
LOG или SQRT, выходит за пределы допустимых значений.
В функцию вместо целочисленного аргумента было передано действительное число. Например
: (LSH val 1.2)
Аргумент функции
GCD отрицательное число или ноль.
incorrect number of arguments to a function
Число аргументов, переданное в определенную пользователем функцию, не соответствует числу формальных аргументов, указанное в функции
DEFUN.
Для выполнения требуемого действия недостаточно динамической памяти.
Для размещения требуемой текстовой строки недостаточно динамической памяти.
Неверный тип аргумента или же аргумент выходит за пределы допустимых значений.
Выражение содержит неверный символ.
Дот-пара - список, состоящий из двух элементов, разделенных конструкцией "пробел-точка-пробел". Это сообщение об ошибке может быть получено, если вы вначале действительного числа поставили десятичную точку; в подобных случаях необходимо число начинать с нуля.
Превышено пространство стека Автолиспа. Это может произойти либо в случае чрезмерной глубины рекурсивной функции, либо в случае очень большого списка аргументов.
Такое сообщение может быть получено в случае, когда действительное число начинается с десятичной точки; в подобных случаях необходимо число начинать с нуля.
Была предпринята попытка выполнить неизвестную функцию.
Это результат вызова функции
QUIT или EXIT. Эти функции в настоящее время не используются в Автолиспе.
Во встроенную функцию было передано недостаточное число аргументов.
Во встроенную функцию было передано чрезмерное число аргументов.