09 Dodatek D Komunikaty błędów





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ów
09 Komunikowanie w spr BHP
20130307 1 komunikat# MF 09 standardy KZ
Komunikaty Dżwiękowe i tekstowe błędów w BIOS ie
JĘZYK SZTUKI OBRAZ JAKO KOMUNIKAT
pref 09
amd102 io pl09
2002 09 Creating Virtual Worlds with Pov Ray and the Right Front End
Analiza?N Ocena dzialan na rzecz?zpieczenstwa energetycznego dostawy gazu listopad 09

więcej podobnych podstron