该函数可以确保AutoCAD在发生错误后返回到特定状态。*error* 此用户可定义的函数可以评估错误条件并向用户返回适当的消息。如果AutoCAD在评估过程中遇到错误,它将以以下形式打印一条消息: 错误:文本 在此消息中,文本描述错误。但是,如果定义了函数(即,如果未定义),则执行 AutoLISP 而不是打印消息。该函数接收文本作为其单个参数。如果未定义或已定义,则 AutoLISP 计算将停止并显示调用函数及其调用方的回溯。在调试程序时,最好使此错误处理程序保持有效。*error*nil*error**error**error*nil 最后一个错误的代码保存在系统变量 ERRNO 中,您可以在其中使用函数检索它。getvar 在定义自己的函数之前,请保存当前内容,以便在退出时可以恢复以前的错误处理程序。当存在错误条件时,AutoCAD 将调用当前定义的函数并向其传递一个参数,该参数是描述错误性质的文本字符串。您的函数应设计为在 Esc(取消)或函数调用后静默退出。实现此目的的标准方法是在错误处理例程中包含以下语句。*error**error**error**error*exit (if (or (= msg "Function cancelled") (= msg "quit / exit abort") ) (princ) (princ (strcat "\nError: " msg)) ) 此代码评估传递给它的错误消息,并确保用户被告知错误的性质。如果用户在命令或函数运行时取消命令或函数,则此代码不会返回任何内容。同样,如果将错误条件编程到代码中并调用该函数,则不会返回任何内容。假定您已经通过显示消息解释了错误的性质。如果您不希望在函数末尾打印返回值,请记住包含终止调用。exitprinc*error* 关于错误处理例程的主要警告是它们是正常的 AutoLISP 函数,可以由用户取消。保持它们尽可能短和快速。这将增加整个例程在调用时执行的可能性。 还可以通过显示警告框来警告用户错误情况,警告框是一个小对话框,其中包含程序提供的消息和单个“确定”按钮。若要显示警告框,请调用函数。alert 以下警报调用显示一个警报框,其中包含消息“找到文件注释”: (alert "File not found") |
|Archiver|CAD开发者社区 ( 苏ICP备2022047690号-1 )
GMT+8, 2024-5-6 22:04
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.