该函数可以确保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 note found: (alert "File not found") 相关概念父主题: |
|Archiver|CAD开发者社区 ( 苏ICP备2022047690号-1 苏公网安备32011402011833)
GMT+8, 2024-12-15 15:00
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.