Gestione dell'errore

Angelo2449

Utente Junior
Professione: Pensionato
Software: Autocad
Regione: Lombardia
Salve a tutti,
vorrei gestire un errore specifico in modo che il programma lisp si comporti come desidero.
Ho fatto alcune prove ma non ho trovato la soluzione.
Se chiamo un comando lisp senza caricarlo, ovviamente avviene un errore segnalato come "Comando sconosciuto".
A fronte del verificarsi dell'errore, vorrei che ci fosse una reazione come visualizzare un "Alert" o lanciare un programma esterno coi comandi "RunApp" o "StartApp".
Grazie
 

rpor66

Utente Standard
Professione: Programmatore
Software: AutoCad, GstarCAD, CadWorx, Excel, Lisp, VBA
Regione: Sicilia
Non c'è bisogno di intercettare l'errore, basta prevenirlo:
(if (null c:TuoComando) (alert "........"))
Al posto di alert puoi anche inserire (load"TuaRoutine")
 

Angelo2449

Utente Junior
Professione: Pensionato
Software: Autocad
Regione: Lombardia
Grazie rpor66,
non riesco a comprendere l'utilizzo del codice.
Dovrei inserirlo in > Acad.lsp < ma come lo attivo?
Grazie.
 

Angelo2449

Utente Junior
Professione: Pensionato
Software: Autocad
Regione: Lombardia
Ho risolto il problema così :
Codice:
(defun C:MIOCOMANDO (/)

    (setq COMANDOX "PREPARAPUNTI")

    (if (/= ControlloGpsCad 1)  ;; "C:\\AutocadSupporto\\LispTre\\GPSCAD.lsp"
        (progn
        (Alert "Devi prima caricare il GPSCAD")
                (vl-exit-with-error "Uscita dal programma")
        );;progn
        (eval (list (read COMANDOX)))
    );;if

    );;defun
dove > ControlloGpsCad < è una variabile che attivo caricando "C:\\AutocadSupporto\\LispTre\\GPSCAD.lsp"