Системы автоматизированного конструирования. Толстоба Н.Д. - 16 стр.

UptoLike

Составители: 

15
1.9. Анализ ошибок
§ При загрузке файла с текстом программы, интерпретатор AutoCAD почти ничего не
пишет, поэтому необходимо себе помочь и сделать вывод надписей для ориентирования в
процессе загрузки файла. После каждого блока (defun имя...) необходимо вставить
(prompt "имя"). Тогда при отладке будут выводиться надписи с именами загруженных
программ.
§ Большинство ошибок - в подсчете и правильной расстановке скобок. И надпись об этом
будет содержать "Malformed list".
§ Malformed string - ошибка в расстановке кавычек.
§ Syntax errorнесколько вариантов ошибокили в (setq) нечетное количество
аргументов, или в (if ) аргументов больше трех, или неверное использование (defun)
1.10. Ошибки, проявляющиеся после запуска программы:
error: Too many arguments - слишком много аргументов. Обычно появляется в блоке
IF, когда позабыл автор об использовании (progn) и много операторов пытается запустить в
теле IF.
error: Too few arguments - мало аргументов. Проявляется, когда мало аргументов
указано для функции.
error: bad argument type - неверный тип агрумента, подаваемого в функцию.
Схематика вывода информации об ошибках:
Мы запускаем команду:
Command: ($getval "Введите что-нибудь!" "ку")
С заведомо неверным типом данных 2. Второй аргумент должен быть типа REAL, а
не строка.
В результате сейчас получим ошибку:
error: bad argument type
(RTOS DEFLT)
(STRCAT "\n" STRING " <" (RTOS DEFLT) ">: ")
(SETQ QUESTION (STRCAT "\n" STRING " <" (RTOS DEFLT) ">: "))
($GETVAL "Введите что-нибудь!" "ку")
*Cancel*
Эта надпись обозначает следующее:
§ сперва выводится тип ошибки - error: bad argument type
§ потом пишется выражение, в котором произошла ошибка - (RTOS DEFLT)