atimao 发表于 2003-8-4 11:14:00

求助: 用什么方法在中止Autolisp执行时,可以隐藏或取消出错信息?

在AutoCAD R14的环境中执行Autolisp,当有些条件不满足时,想终止并退出Autolisp,不想让它执行后面其它功能,用(exit)或(quit)去中止时,它会返回这一段Autolisp相关信息,能否将它隐藏或取消?后来用(command "quit" "Y" "" "")会退出AutoCAD,但又不想退出AutoCAD,请问有没有办法? 谢谢!

meflying 发表于 2003-8-4 17:40:00

重新定义*error*函数,

atimao 发表于 2003-8-4 19:35:00

怎样定义?是重新定义(exit)吗?能否举个例子?

meflying 发表于 2003-8-5 08:56:00

(defun *error*(msg)
(princ)
)

atimao 发表于 2003-8-5 09:56:00

非常感谢! 但还有一个问题,有很多命令在出错时,都显示同样的信息!还有没有其它的办法?

meflying 发表于 2003-8-5 13:17:00

你定义一个err函数,在需要自定义出错函数时
(setq errtmp *error*)
(setq *error* err)
然后恢复
(setq *error* errtmp)

atimao 发表于 2003-8-6 10:20:00

谢谢!明白了,这方法不错!

jls 发表于 2005-3-30 16:33:00

高明!本人一直被这个问题困惑,真是高明,谢谢管理员

jls 发表于 2005-3-30 17:22:00

本人还是有点疑问:既然已经用(exit)跳出程序了,那么(setq        *error*        errtmp)恢复语句已无法执行,怎么恢复呢?<BR>

meflying 发表于 2005-3-30 17:36:00

看6楼,在自己定义的err函数里也加一句(setq        *error*        errtmp)恢复错误处理函数
页: [1] 2
查看完整版本: 求助: 用什么方法在中止Autolisp执行时,可以隐藏或取消出错信息?