CAD开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

AutoCAD 文档中心

*push-error-using-command*(AutoLISP)

2023-1-7 22:55| 发布者: admin| 查看: 732| 评论: 0|来自: AutoCAD

摘要: 指示使用 自定义中的命令函数 *错误*处理程序

指示在自定义处理程序中使用函数的错误处理函数command*error*

支持的平台:视窗和 Mac OS

签名

(*push-error-using-command*)

没有参数。

返回值

类型:T

返回的值 ofis。T

言论

应在定义包含函数使用的自定义处理程序函数后调用 。*push-error-using-command**error*command

使用时,您只能访问全局变量,而不能访问自定义处理程序中发生错误的函数中定义的局部变量。如果需要访问局部变量,请将函数的任何实例替换为函数和调用。*push-error-using-command**error*commandcommand-s*push-error-using-stack*

注意:在本地自定义处理程序中使用函数时,不能使用此函数。command*error*

例子

下面的示例演示函数的用法。*push-error-using-command*

(defun my_err (err_msg)
    (if (/= err_msg "Function cancelled")
      (prompt (strcat "\nError: " err_msg))
    )
    (command "._undo" "_e")
    (command "._U")
    (setq *error* olderr)
  (princ)
)

(defun myUtil (key / )
    (setq olderr *error*
              *error* my_err)
    (*push-error-using-command*)         ; Indicate use of Command function instead of Command-s
                                         ; in the custom error handler

    (command "._undo" "_group")          ; The following will not be executed in this sample, but is good 
                                         ; framework for setting up your own error handlers
  
    (/ 1 0)                              ; Call a function with incorrect values to trigger the custom error handler
                                         ; Remove when setting up your code
   
    ;; Perform your tasks here

    (command "._undo" "_e")
    (setq *error* olderr)                ; Restore old *error* handler
    (*pop-error-mode*)                   ; End the use of *push-error-using-command*
)

加载示例代码后,在命令提示符下输入(myutil“字符串”)以输入错误处理程序。


路过

雷人

握手

鲜花

鸡蛋

最新评论

QQ|Archiver|CAD开发者社区 ( 苏ICP备2022047690号-1 )

GMT+8, 2024-5-19 14:59

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部