[求助]如何避免程序出错时退出?
使用lisp语言编写程序时,如果遇到某句话执行失败(或出错),有时程序会直接退出。特别当执行批处理时,如果程序总是退出那将非常头疼。本想让电脑执行一晚上,早上发现竟然我走后10分钟程序就退出了,狂晕!!<br/>不知大家遇到这种情况是如何解决的?<br/>另:lisp能否捕捉错误,当执行批处理时,如果出错可以写个日志,继续往下执行而不是退出?<br/><br/> <p>用VBA吧</p> 谢谢楼上的朋友。<br/>vba确实可以通过 on error 捕捉错误,但是偶用lisp写好的功能不想再翻译成vba了,还有其他办法嘛? <p>用vl-catch-all-apply捕捉错误</p><p>如有一函数abc,则调用时</p><p>(setq retu(vl-catch-all-apply 'abc (...abc的参数表)))</p><p>捕捉错误</p><p>(if (VL-CATCH-ALL-ERROR-P retu);_如果上面的函数调用返回值是错误</p><p>....</p><p>)</p><p>再如</p><p>(setq retu(vl-catch-all-apply 'getpoint (list "\n指定点: "))</p><p><br/>(if (VL-CATCH-ALL-ERROR-P retu)<br/> (princ "\n错误")<br/> (princ retu))</p><p>记得加载(vl-load-com)</p> 多谢caiqs兄热心回复。<br/>我发现程序是调用cad本身命令时出错的,如(command "break" en p0 p1);<br/>不知这种情况能否捕捉错误?<br/> 希望龙坛主给指点下。
页:
[1]