(*error* string) | ||
Argumenty: | ||
string
|
- řetězec popis chyby | |
Popis: | ||
- uživatelem definovaná funkce pro zprávu chyby | ||
Návratová hodnota: | ||
- nemá návratovou hodnotu, jen když se používá ve spojení s funkcí vl_exit_with_value | ||
Příklady: |
Následující funkce provádí stejnou funkci jako standardní správce chyb AutoLISPu - vypíše "error:" následovaný popisem chyby: | |||||
(defun *error* (msg) | |||||
(princ "error: ") | |||||
(princ msg) | |||||
(princ) | |||||
) |
(exit) | ||
Popis: | ||
- ukončí aktuální aplikaci | ||
- vrátí chybovou zprávu quit/exit abort a vrátí se do příkazové řadky AutoCADu |
(quit) | ||
Popis: | ||
- ukončí aktuální aplikaci | ||
- vrátí chybovou zprávu quit/exit abort a vrátí se do příkazové řadky AutoCADu |
(vl-catch-all-apply 'function list) | ||
Argumenty: | ||
'function
|
- funkce, argumentem může být buď defun nebo lambda výraz | |
list
|
- seznam obsahující argumty, které mají být předány funkci | |
Popis: | ||
- předá seznam argumentů dané funkce a odchytí všechny výjimky | ||
Návratová hodnota: | ||
- výsledek volání funkce - bylo-li volání úspěšné | ||
- object chyby - v případě, že je volání neúspěšné | ||
Příklady: | ||
Je-li volání funkce vl-catch-all-apply úspěšně dokončené má stejnou funkci jako fce apply: | ||
_$ (setq catchit (apply '/ '(50 5))) | ||
vrací 10 | ||
_$ (setq catchit (vl-catch-all-apply '/ '(50 5))) | ||
vrací 10 | ||
Hlavní síla funkce vl-catch-all-apply je odchycení chyby a pokračování ve zpracování: | ||
_$ (setq catchit (apply '/ '(50 0))) | ||
vrací ; error: divide by zero a ukončí běh programu | ||
_$ (setq catchit (vl-catch-all-apply '/ '(50 0))) | ||
vrací objekt chyby #<catch-all-apply-error> | ||
K prohlédnutí vráceného chybového objektu použijeme funkci vl-catch-all-error-message se jménem objektu: | ||
_$ (vl-catch-all-error-message catchit) | ||
vrací "divide by zero" |
Podívejte se na funkci vl-catch-all-error-p.
(vl-catch-all-error-message error-obj) | ||
Argumenty: | ||
error-obj
|
- objekt chyby vrácený funkcí vl-catch-all-apply | |
Popis: | ||
- určí kdy argument je objekt chyby vrácený od vl-catch-all-apply | ||
Návratová hodnota: | ||
- řetězec - obsahující chybovou zprávu | ||
Příklady: | ||
Dělení nulou s použitím vl-catch-all-apply: | ||
_$ (setq catchit (vl-catch-all-apply '/ '(50 0))) | ||
vrací objekt chyby #<catch-all-apply-error> | ||
Funkce vl-catch-all-apply odchytí všechny výjimky a v případě chyby vrátí chybový objekt. K prohlédnutí vráceného chybového objektu použijeme funkci vl-catch-all-error-message se jménem objektu: | ||
_$ (vl-catch-all-error-message catchit) | ||
vrací "divide by zero" |
Podívej se na funkci vl-catch-all-error-p.
(vl-catch-all-error-p arg) | ||
Argumenty: | ||
arg
|
- libovolný argument | |
Popis: | ||
- určí kdy argument je objekt chyby vrácený od vl-catch-all-apply | ||
Návratová hodnota: | ||
- T - je-li argument objektem chyby vrácený funkcí vl-catch-all-apply | ||
- nil - v opačném případě | ||
Příklady: | ||
Dělení nulou s použitím vl-catch-all-apply: | ||
_$ (setq catchit (vl-catch-all-apply '/ '(50 0))) | ||
vrací objekt chyby #<catch-all-apply-error> | ||
Použití funkce vl-catch-all-error-p pro zjištění zda hodnota vrácená funkcí vl-catch-all-apply je objekt chyby: | ||
_$ (vl-catch-all-error-p catchit) | ||
vrací T |
Podívejte se na funkci vl-catch-all-error-message.