AutoLisp 錯誤訊息產生原因參考

此表為可能原因參考,並不限於這些原因。

錯誤信息 可能的原因
; 錯誤: 異常輸入清單
malformed list on input
代碼缺少一個或多個右括號。
; 錯誤: 其他的輸入右 paren
extra right paren on input
代碼中有多餘的右括號。
; 錯誤: 異常的輸入字串
malformed string on input
代碼包含一個缺少字符串分隔符(")的字符串。
; 錯誤: 引數太多
too many arguments
已使用太多引數在評估函數。
; 錯誤: 引數太少
too few arguments
已經使用太少的必需引數評估了函數。
; 錯誤: 函數被取消
Function cancelled
用戶在運行AutoLISP功能時按下了Esc鍵。
; 錯誤: 退出 / 結束 中斷
quit / exit abort
已經評估了(exit)或 (quit)  的AutoLISP函數。
應用程序錯誤:控制台中斷
Application ERROR: Console break
用戶在程序評估grread函數時按下了Esc鍵,而沒有在allkeys參數中設置第3位(8) 。
損壞的引數類型: numberp<value>
bad argument type: numberp: <value>
需要數字參數的函數已傳遞錯誤數據類型的參數,並帶有錯誤消息中記錄的值。
損壞的引數類型: fixnump<value>
bad argument type: fixnump: <value>
需要整數參數的函數已傳遞錯誤數據類型的參數,並帶有錯誤消息中記錄的值。
損壞的引數類型: stringp <value>
bad argument type: stringp <value>
需要字符串參數的函數已傳遞錯誤數據類型的參數,並帶有錯誤消息中記錄的值。
損壞的引數類型: lselsetp <value>
bad argument type: lselsetp <value>
需要選擇集參數的函數已傳遞錯誤數據類型的參數,並帶有錯誤消息中記錄的值。這通常是將sslengthssnamex函數傳遞給null選擇集參數的結果。
損壞的引數類型: lentityp <value>
bad argument type: lentityp <value>
需要實體參數的函數已傳遞錯誤數據類型的參數,並帶有錯誤消息中記錄的值。通常是將entget函數傳遞給null實體參數的結果。
損壞的引數類型: listp <value>
bad argument type: listp <value>
需要list參數的函數已傳遞錯誤數據類型的參數,並帶有錯誤消息中記錄的值。
損壞的引數類型: consp <value>
bad argument type: consp <value>
需要list參數的函數已傳遞錯誤數據類型的參數,並帶有錯誤消息中記錄的值。可以通過傳遞任何 c..r函數,foreach, membernth或 vl-sort-i來生成無效的列表參數。
損壞的引數類型: FILE <value>
bad argument type: FILE <value>
需要文件描述符參數的函數已傳遞錯誤數據類型的參數,並帶有錯誤消息中記錄的值。傳遞的一般結果prin1prin1print無效第二個參數。
損壞的引數類型: streamp <value>
bad argument type: streamp <value>
需要文件描述符參數的函數已傳遞錯誤數據類型的參數,並帶有錯誤消息中記錄的值。通常是將close AutoLISP函數傳遞為null或無效參數的結果。
損壞的引數類型: VLA-OBJECT <value>
bad argument type: VLA-OBJECT <value>
需要VLA-Object參數的函數已傳遞錯誤數據類型的參數,並帶有錯誤消息中記錄的值。
損壞的引數類型: (stringp symbolp)<value>
bad argument type: (or stringp symbolp): <value>
需要字符串或符號參數的函數已傳遞錯誤數據類型的參數,並帶有錯誤消息中記錄的值。通常,傳遞getvarsetvar AutoLISP函數的結果是無效的第一個參數。
錯誤的參數值:字符串位置超出範圍<index>
bad argument value: string position out of range <index>
很可能是提供vl-string-search或 vl-string-position函數的結果是一個字符索引,它超出了所提供的字符串參數可用的字符範圍,例如:(vl-string-search "a" "abc" 4)
損壞的引數類型: 非負值:<value>
bad argument value: non-negative: <value>
需要正數參數值的函數輸入負數參數值。此錯誤通常是將負值作為nth函數的索引參數傳遞的結果。
; 錯誤: ssget 模式字串不正確
bad ssget mode string
傳遞給ssget 函數的模式字符串參數(例如:":X")無效。
; 錯誤: 點引數不正確
bad point argument
ssget函數功能已經傳遞了一個無效點列表的說法,或者根本沒有。
; 錯誤: 損壞的 SSGET 清單值
bad SSGET list value
提供給ssget函數的過濾器列表中的一個或多個項目無效。
不明的指令「範例」。請按 F1 取得說明。
Unknown command "example".  Press F1 for help.
您嘗試調用的命令未定義。這可能是由於未加載LISP程序,您正在運行的AutoCAD版本中沒有該命令;或者在command 表達式中包含太多enter 調用("")。
; 錯誤: no function definition: VLAX-GET-ACAD-OBJECT
no function definition: VLAX-GET-ACAD-OBJECT
;
錯誤: no function definition: VLAX-ENAME-> VLA-OBJECT
no function definition: VLAX-ENAME->VLA-OBJECT
尚未使用 (vl-load-com) 函數加載AutoLISPVisual LISP ActiveXCOM)擴展 。在任何函數定義之外添加 (vl-load-com) 到您的 acaddoc.lsp或您嘗試運行的代碼。
; 錯誤: no function definition: <name>
no function definition: <name>
程序正在嘗試評估具有名稱的函數,如未在錯誤消息中指出的那樣定義。這可能是缺少函數定義的結果,或者代碼中可能缺少 (vl-load-com)
; 錯誤: 損壞的函數: <name>
bad function: <name>
其值不是函數的符號或變量正在被評估為函數。可能的原因是沒有引用文字列表,導致列表中的第一項被評估為函數,例如:(setq lst (1 2 3))
ActiveX Server返回錯誤:未知名稱:<name>
ActiveX Server returned the error: unknown name: <name>
程序正在嘗試使用錯誤消息中提到的名稱訪問ActiveX屬性或方法,該名稱不適用於提供的VLA-Object
ActiveX Server返回錯誤:索引無效
ActiveX Server returned an error: Invalid index
該程序正在嘗試使用vlax-safearray-> list函數將空的safearray轉換為列表。
ActiveX Server返回錯誤:類型不匹配
ActiveX Server returned an error: Type mismatch
該程序正在為ActiveX屬性或方法提供正確數據類型的參數,但該參數的數據無效。例如:將一個Paperspace視口提供給 activeviewport屬性,或者將一個Modelspace視口提供給 activepviewport屬性。
自動化錯誤。密鑰未找到
Automation Error. Key not found
該程序試圖使用VLA集合對象的Item方法來訪問該集合中不存在的項目。
vlax-safearray-fill失敗。初始化列表無效。
vlax-safearray-fill failed.  Invalid initialization list.
該程序正在嘗試使用vlax-safearray-fill 函數來填充具有不正確數量的項目的safearray
除以零
divide by zero
試圖用除數函數(例如rem/)除以零。
; 錯誤: 函數未定義給引數: <value>
function undefined for argument: <value>
函數已傳遞正確數據類型的參數,但該參數的值無效。通常由傳遞未定義操作的參數的數學函數引起,例如,為sqrt函數提供負參數。

留言

這個網誌中的熱門文章

AutoCAD 填充線(剖面線)樣式簡易製作產生器

AutoCAD 如何自訂線型教學

AutoCAD 動態圖塊-如何在所有可見性顯示或隱藏