Dodatek D
Komunikaty błędów
Po wykryciu warunków błędu, AutoLISP przerywa działanie funkcji i wywo-
łuje funkcję użytkownika *error*, z komunikatem wskazującym rodzaj błę-
du. Jeżeli nie zdefiniowano funkcji *error* (*error* ma przypisaną wartość
nil), podejmowane są standardowe działania obsługi błędów i wyświetlany
jest komunikat:
błqd: komunikat
oraz tzw. wsteczny ślad funkcji. Jeżeli zdefiniowano funkcję *error*, to jest
ona wywoływana z jedynym argumentem komunikat.
Błędy programów użytkowych
Poniżej przedstawiono listę komunikatów błędów, które pojawiają się w tra-
kcie uruchamiania funkcji AutoLISP-u. Większość z nich wskazuje typowe
błędy programów LISP-u takie jak:
błędnie podana nazwa funkcji lub symbolu,
nieprawidłowy typ lub liczba argumentów funkcji,
niezrównoważona liczba nawiasów,
brak cudzysłowu (niezakończone łańcuchy),
próba wykorzystania niezakończonej funkcji.
Zwykle komunikaty te wskazują błędy programów użytkowych, ale mogą też
wyniknąć z błędów w AutoLISP-ie. Jeżeli użytkownik nie znajdzie żadnych
błędów w swoim programie, to powinien wypełnić kartę informacji o błędach
(ang. Bug Report) i przesłać ją do firmy Autodesk.
arguments of a defun can't have the same name
Błąd ten spowoduje funkcja zdefiniowana z wieloma argumentami o tej sa-
mej nazwie.
AutoCAD rejected function
Przekazano błędne argumenty funkcjom AutoCAD-a (na przykład próba
ustawienia zmiennej systemowej "tylko do odczytu" poleceniem ZMSYS lub
użycia tblnext z nieprawidłową nazwą tablicy) lub samo użycie funkcji jest
błędem w aktualnym kontekście. Przykładowo, nie wolno stosować funkcji
Błędy programów użytkowych 239
Komunikaty błędów
getxxx wewnątrz funkcji command.
AutoLISP stack overflow
Przekroczona została pojemność obszaru stosu AutoLISP-u. Może to być wy-
nikiem intensywnego wykorzystywania rekurencji funkcji lub bardzo du-
żych list argumentów funkcji.
bad argument type
Do funkcji przekazano argument niewłaściwego typu (np. nie można użyć
funkcji strien dla liczby typu integer).
bad association list
Lista przekazana funkcji assoc nie zawiera list z nazwami kluczowymi.
bad conversion code
Komunikat taki wskazuje, że dla funkcji trans został podany niewłaściwy
identyfikator obszaru (papieru lub modelu).
bad ENTMOD list
Jedna z podlist listy asocjacji, dostarczonej funkcji entmod, zawiera niewła-
ściwą wartość.
bad ENTMOD value
Jedna z list w liście asocjacji (skojarzeń), przekazanych funkcji entmod, za-
wiera nieprawidłową wartość.
bad formal argument list
Podczas wyliczania funkcji, AutoLISP wykrył nieprawidłową listę argumen-
tów formalnych. Może to wystąpić np. w przypadku gdy zamiast funkcji po-
dano listę danych.
bad function
Pierwszy element listy (predykat) nie jest dopuszczalną nazwą funkcji. Może
to wystąpić np. w przypadku gdy pierwszy element jest liczbą lub nazwą
zmiennej. Komunikat ten może wskazywać również na to, że funkcja jest
błędnie zdefiniowana - na przykład brakuje listy wymaganych argumentów
formalnych.
bad function code
Taki komunikat wskazuje, że polecenie PULPIT otrzymało niewłaściwy
identyfikator funkcji.
bad grvecs list value
Któryś składnik listy dla funkcji grvecs nie jest punktem 2W lub 3W.
240 Błędy programów użytkowych
Dodatek D
bad grvecs matrix value
Macierz dostarczona funkcji grvecs została źle uformowana lub zawiera da-
ne niewłaściwego typu (na przykład STR, SYM sitp.).
bad list
Przekazano funkcji nieprawidłowo uformowaną listę. Może to wystąpić
w przypadku, gdy liczba rzeczywista (typ real) zaczyna się kropką dziesięt-
ną; należy pamiętać o tym, że zapis takiej liczby musi zaczynać się wtedy ze-
rem.
bad list of points
Komunikat wyświetlany przez ssget w przypadku, gdy wraz z parametrami
_F, _CP lub _WP zostanie przesłana lista pusta lub lista zawierająca obiekty
inne, niż punkty. Komunikat taki może też wyświetlić funkcja grvecs.
bad node
Funkcja type napotkała pozycję nieprawidłowego typu.
bad node type in list
Funkcja foreach napotkała pozycję nieprawidłowego typu.
bad point argument
bad point value
Niewłaściwie zdefiniowany punkt (lista dwóch liczb typu real) został prze-
kazany funkcji oczekującej na podanie współrzędnych. Może to wystąpić
w przypadku, gdy liczba rzeczywista mniejsza od l zaczyna się kropką dzie-
siętną; należy pamiętać o tym, że zapis takiej liczby musi zaczynać od zera.
bad real number detected
Nastąpiła próba przesłania z AutoLISP-u do AutoCAD-a niewłaściwej liczby
rzeczywistej (typu real).
bad ssget list
Argument przekazany funkcji ssget "E" nie jest prawidłową listą z danymi
elementu (taką jak wynik funkcji entget).
bad ssget list value
Jedna z list składowych na liście filtru przekazanej do (ssget "x") zawiera
niepoprawną wartość.
bad ssget modę string
Błąd ten występuje wtedy, gdy argument modę funkcji jest (niedopuszczal-
nym) niedozwolonym tekstem.
Błędy programów użytkowych 241
Komunikaty błędów
bad xdata list
Błąd taki powstaje wtedy, gdy funkcjom xdsize, ssget, entmod, entmake lub
textbox zostaje podana źle uformowana lista dodatkowych danych elementu
(xdata).
base point is required
Funkcja getcorner została wywołana bez podania wymaganego argumentu
(punktu bazowego).
Boole argi <0 or >15
Pierwszy argument funkcji boole musi być liczbą typu integer z zakresu od
O do 15.
can't evaluate expression
Błąd ten może być spowodowany niewłaściwym położeniem kropki dziesięt-
nej lub innym źle skonstruowanym wyrażeniem.
can't open (file) for input LOAD failed
Plik o nazwie przekazanej funkcji load nie został znaleziony lub użytkownik
nie ma dostępu do czytania pliku.
can't reenter AutoLISP
Bufor komunikacyjny AutoCAD-AutoLISP jest wykorzystywany przez
aktywną funkcję; żadna nowa funkcja nie może być wywołana przed jej za-
kończeniem.
console break
Użytkownik wprowadził Ctri+C w czasie działania funkcji.
divide by zero
Dzielenie przez zero jest niedozwolone.
divide overflow
Wynik dzielenia przez bardzo małą liczbę jest obarczony dużym błędem.
excęeded maximum string length
Łańcuch alfanumeryczny (string) przesłany do funkcji jest dłuższy, niż 132
znaki.
extra right paren
Wykryto za dużo prawych nawiasów (jeden lub więcej).
242 Błędy programów użytkowych
Dodatek D
filc not open
Deskryptor pliku dla operacji WE/WY nie odpowiada otwartemu plikowi.
file read-insufficient string space
Podczas czytania z pliku przekroczono dostępny obszar pamięci łańcuchów.
Szczegóły w rozdziale 5.
file size limit exceeded
Rozmiar pliku przekracza wartość dopuszczalną dla systemu operacyjnego.
floating-point exception
System operacyjny wykrył błąd obliczeń zmiennoprzecinkowych (tylko
w środowisku systemów typu UNDC).
function cancelled
Użytkownik wprowadził Ctri+C w odpowiedzi na zgłoszenie gotowości do
przyjęcia danych wejściowych.
function undefined for argument
Argument przekazany do funkcji log lub sqrtjest spoza dopuszczalnego za-
kresu.
function undefined for real
Funkcji oczekującej danych typu integer przekazano liczbę typu real, np. (Ish
val1.2).
grvecs missing endpoint
Lista wektorów podana funkcji grvecs nie posiada punktu końcowego.
illegal type in left
Wystąpienie takiego komunikatu oznacza, że plik LSP nie jest czystym pli-
kiem ASCII, ale został utworzony za pomocą programu procesora tekstów
i zawiera kody formatujące.
improper argument
Funkcji gcd przekazano argument mniejszy lub równy zero.
inappropriate object in function
Funkcja vmon wykryła niepoprawnie skonstruowaną funkcję.
incorrect number of arguments
Podano więcej niż jeden argument funkcji quote.
Błędy programów użytkowych 243
Komunikaty bł
O
%
<9^ ^er ot arguments to a function
argumentów przekazanych funkcji nie odpowiada liczbie argumen-
<^ ^formalnych określonych w funkcji defun.
set request for command list data
Napotkana funkcja command nie może być wykonana ze względu na dzia-
łanie innej funkcji.
input aborted
Wykryto warunek błędu lub przedwczesnego końca pliku, co powoduje prze-
rwanie wczytywania pliku.
insufficient node space
Do wykonania żądanego działania funkcji zabrakło wolnego obszaru sterty.
Patrz rozdział 5 "Zarządzanie pamięcią" na stronie 197.
insufficient string space
Obszar sterty jest zbyt mały do ulokowania podanego łańcucha tekstowego.
Patrz rozdział 5 "Zarządzanie pamięcią" na stronie 197.
invalid argument
Nieprawidłowy typ argumentu lub argument poza dopuszczalnym zakre-
sem.
invalid argument list
Przekazano funkcji uszkodzoną listę argumentów.
invalid character
Wyrażenie zawiera niepoprawny znak.
invalid dotted pair
Pary kropkowe są listami zawierającymi dwa argumenty oddzielone se-
kwencją "spacja-kropka-spacja". Błąd ten może pojawić się w przypadku gdy
mniejsza od l liczba rzeczywista rozpoczyna się kropką dziesiętną; należy
pamiętać o tym, że liczba taka musi zaczynać się zerem.
invalid integer value
Została napotkana liczba typu integer o wartości spoza dopuszczalnego za-
kresu.
LISPSTACK overflow
Przekroczono obszar stosu AutoLISP-u. Może to wystąpić w przypadku wie-
lokrotnego zagnieżdżenia funkcji rekurencyjnej lub funkcji z bardzo dużą li-
stą argumentów. Należy spróbować zwiększyć wartość zmiennej Środowisko-
244 Błędy programów użytkowych
Dodatek D
wej LISPSTACK.
malformed list
Odczytywana z pliku lista skończyła się przedwcześnie. Najczęstszą przy-
czyną jest błąd parowania nawiasów otwierających i zamykających lub zna-
ków cytowania.
malformed string
Łańcuch czytany z pliku zakończył się przedwcześnie.
misplaced dot
Błąd ten może pojawić się w przypadku, gdy zapis liczby o wartości bez-
względnej mniejszej od l rozpoczyna się kropką dziesiętną; należy pamiętać
o tym, że liczba taka musi zaczynać się zerem.
null function
Została wykonana próba wyliczenia niezdefiniowanej funkcji.
quit/exit abort
Jest to wynik wywoływania funkcji quit lub exit. Funkcje te nie są aktualnie
stosowane w AutoLISP-ie.
string too long
Łańcuch alfanumeryczny dostarczony funkcji setvar jest za długi.
too few arguments
Za mało argumentów przekazano funkcji wewmętrznej.
too few arguments to grvecs
Funkcja grvecs otrzymała zbyt małą ilość argumentów.
too many arguments
Za dużo argumentów przekazano funkcji wewnętrznej.
Błędy wewnętrzne
Błędy opisane poniżej pojawiają się wyjątkowo rzadko. Wskazują na wewnę-
trzne błędy w AutoLISP-ie i ich pojawienie się powinno być zgłaszane dys-
trybutorowi programu.
bad argument to system cali
System operacyjny wykrył błędne odwołanie do systemu wygenerowane
przez AutoLISP (tylko w środowisku systemów typu UNDC).
Błędy wewnętrzne 245
Komunikaty V
\
./ykrył błąd magistrali (tylko w środowisku systemów
,i operacyjny wykrył sygnał "zawieszenie systemu" (tylko w środowi-
fiystemów typu UNDC).
-instruction
System operacyjny wykrył błędną instrukcję maszynową (tylko w środowi-
sku systemów typu UNDC).
segmentation violation
System operacyjny wykrył próbę zaadresowania pamięci znajdującej się po-
za przydzielonym dla procesu obszarem (tylko w środowisku systemów typu
UNEO.
unexpected signal nnn
Wykryto nieoczekiwane pojawienie się sygnału wygenerowanego przez sy-
stem operacyjny (tylko w środowisku systemów typu UNDC).
Btędy wewnętrzne
Wyszukiwarka
Podobne podstrony:
08 Dodatek C Kody błędów09 Komunikowanie w spr BHP20130307 1 komunikat# MF 09 standardy KZKomunikaty Dżwiękowe i tekstowe błędów w BIOS ieJĘZYK SZTUKI OBRAZ JAKO KOMUNIKATpref 09amd102 io pl092002 09 Creating Virtual Worlds with Pov Ray and the Right Front EndAnaliza?N Ocena dzialan na rzecz?zpieczenstwa energetycznego dostawy gazu listopad 09więcej podobnych podstron