HGHG011 发表于 2014-6-10 11:17:47

《菜鸟提问》程序出错或被取消(点esc)时,怎么完成其他程序

(defun c:jbdc()       ;;第1行
(command "layer" "s" "0" "")    ;;第2行
(command "layer" "OFF" "50" "")      ;;第3行
(command "move" (ssget) "" )   ;;第4行
(command "layer" "On" "50" "")    ;;第5行
)

上面程序中上面程序如何实现第四行程序,我移动完成后再启动第五行命令
并且当我第4行命令取消,或错误时,也会执行第五行命令
求大虾帮忙啊~~~~

Gu_xl 发表于 2014-6-10 11:17:48

可以这样:
(defun c:jbdc()       ;;第1行
(command "layer" "s" "0" "")    ;;第2行
(command "layer" "OFF" "50" "")      ;;第3行
(VL-CATCH-ALL-APPLY 'vl-cmdf (list "move" (ssget) "" pause pause))   ;;第4行
(command "layer" "On" "50" "")    ;;第5行
)
正确的方法,请学习下此贴:
【Gu_xl】Lisp程序设计错误处理的技巧

HGHG011 发表于 2014-6-10 11:36:53

Gu_xl 发表于 2014-6-10 11:17 static/image/common/back.gif
可以这样:

正确的方法,请学习下此贴:


先评为最佳答案再慢慢学习一下
谢谢,版主先
页: [1]
查看完整版本: 《菜鸟提问》程序出错或被取消(点esc)时,怎么完成其他程序