明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1690|回复: 4

请教一下:LISP有没有运行时忽略错误函数继续运行的函数?

[复制链接]
发表于 2012-12-24 10:18:12 | 显示全部楼层 |阅读模式
请教一下:LISP有没有运行时忽略错误函数继续运行的函数?类似于VB中的on error resume next 这样的语句?
然后在运行完成后,用*error*输出错误函数名?

因为有时候在lisp中会有个函数出错,然后导致整个都运行不下去很麻烦啊。


发表于 2012-12-24 10:57:25 | 显示全部楼层
函数出错 ... 然后在运行完成后..

您得规范下 '函数出错'

比方 (1+  a) ,  若 a 是个选集时
发表于 2012-12-24 11:34:40 | 显示全部楼层
这个要求有点儿......
不过,还是帮你顶顶吧
发表于 2012-12-24 12:08:44 | 显示全部楼层
有的!
参见 VL-CATCH-ALL-APPLY、VL-CATCH-ALL-ERROR-P、VL-CATCH-ALL-ERROR-MESSAGE函数!
示例:
(setq err (VL-CATCH-ALL-APPLY '函数名 (list 参数1 参数2 ...)))
(if (VL-CATCH-ALL-ERROR-P err) ;_ 出错
  (progn
      ;;出错后处理代码
    (princ (VL-CATCH-ALL-ERROR-MESSAGE err)) ;_ 打印出错信息
    ...
    )
  (progn ;_ 正确结果
   ;;处理函数返回值err的代码
  ...
  )

)
发表于 2012-12-24 12:34:52 | 显示全部楼层
G版就是历害啊,,,
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2025-6-3 08:58 , Processed in 0.244939 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表