AutoLISP 语言提供了几个用于处理错误的函数。 正确处理错误可以使程序优雅地退出并获得预期的结果。使用 AutoLISP 编程语言的错误处理函数可以执行以下操作:
以下函数可用于处理程序遇到的错误:
如果程序在同一表达式中包含多个错误,则不能依赖于 AutoLISP 检测错误的顺序。例如,该函数需要多个参数,每个参数都必须是 2D 或 3D 点列表。对 inter 的调用如下: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 命令:(inters (foo) (bar) (baz)) “评估 foo” “评估栏” “评估巴兹” ;错误:参数太少 在AutoLISP将结果传递给之前,每个参数都已成功计算,并发现指定的参数太少。inters 在 AutoCAD R14 及更早版本中,相同的表达式的计算方法如下: 命令:(inters (foo) (bar) (baz)) “评估 foo” “评估栏”错误:参数类型错误 AutoLISP 计算 ,然后将结果传递给 。由于结果是一个有效的二维点列表,AutoLISP 继续进行计算,确定计算的结果是一个字符串,即 的无效参数类型。(foo)inters(bar)inters 相关概念 |
|Archiver|CAD开发者社区 ( 苏ICP备2022047690号-1 苏公网安备32011402011833)
GMT+8, 2024-12-15 14:49
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.