Przechwytuje możliwość wystąpienia błędu
np:
(setq ret(vl-catch-all-apply 'entsel (list "Wybierz obiekt")))
np:
(/ 2 0)
Zgłosi
; błąd: dzielenie przez 0
co zakończy działanie programu.
Przewidując taką sytuacje możemy to obsłużyć np:
(vl-catch-all-apply '/ (LIST 2 0))
Nie przerwie działania programu tylko zwróci obiekt błędu:
#<%catch-all-apply-error%>
Po przechwyceniu którego możemy podjąć inne działania .
Oczywiście przykład z dzieleniem przez 0 jest bardzo prosty i można obsłużyć go sprawdzając wartość przed wykonaniem dzielenia. Są jednak inne przypadki, gdzie obsługa błędów jest niezbędna, np wszystkie funkcje wymagajce interakcji z Użytkownikiem: getpoint, getstring , getint, getdist, entsel itd zgłaszają błąd gdy Użytkownik wciśnie przycisk ESC.
Zobacz również:
vl-catch-all-error-p
vl-catch-all-error-message