AutoLISP 语言提供了几个用于处理错误的函数。 正确处理错误可使程序正常退出并产生预期结果。使用 AutoLISP 编程语言的错误处理函数可以执行以下操作:
以下函数可用于处理程序遇到的错误:
如果程序在同一表达式中包含多个错误,则不能依赖于 AutoLISP 检测错误的顺序。例如,该函数需要多个参数,每个参数必须是 2D 或 3D 点列表。像下面这样打电话给国脚:inters (inters 'a) 遇到两个错误:参数太少和参数类型无效。您将收到以下错误消息之一: ; *** ERROR: too few arguments ; *** ERROR: bad argument type: 2D/3D point 您的程序应设计为处理任一错误。 注意:AutoLISP 在检查参数类型之前计算所有参数。在早期版本的AutoCAD中,AutoLISP按顺序评估和检查每个参数的类型。若要了解差异,请查看以下代码示例:
(defun foo () (print "Evaluating foo") '(1 2)) (defun bar () (print "Evaluating bar") 'b) (defun baz () (print "Evaluating baz") 'c) 观察如何使用函数在AutoCAD中计算表达式:inters 命令:(间歇 (foo) (酒吧) (baz)) “评价福” “评估栏” “评价巴兹” ;错误:参数太少 在 AutoLISP 将结果传递给之前,每个参数都已成功求值,并发现指定的参数太少。inters 在 AutoCAD R14 及更早版本中,相同的表达式计算结果如下: 命令:(间歇 (foo) (酒吧) (baz)) “评价福” “评估栏”错误:错误的参数类型 AutoLISP 评估,然后将结果传递给。由于结果是有效的二维点列表,AutoLISP 将继续计算,确定计算结果为字符串,参数类型无效。(foo)inters(bar)inters |
|Archiver|CAD开发者社区 ( 苏ICP备2022047690号-1 )
GMT+8, 2024-5-7 05:35
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.