關於載入啟動檔案時 AutoLISP 出錯概述

如果在載入啟動檔時發生 AutoLISP 錯誤,則該檔案的剩餘部份就會被忽略而不載入。

如果啟動檔中指定的檔案不存在,或者不在程式資源庫路徑中,通常都會導致錯誤。因此,您可能想要在 load 函數中使用 onfailure 引數。以下範例即有使用 onfailure 引數:

(princ (load "mydocapp1" "\nMYDOCAPP1.LSP file not loaded."))
(princ (load "build" "\nBUILD.LSP file not loaded."))
(princ (load "counter" "\nCOUNTER.LSP file not loaded."))
(princ)

如果對 load 函數呼叫成功,它會傳回該檔案中最後一個表示式的值 (通常是最後定義的函數名稱或關於函數使用的訊息)。如果呼叫失敗,它會傳回 onfailure 引數的值。在前面的範例中,load 函數傳回的值被傳送至 princ 函數,使該值於指令提示下顯示。

例如,如果在程式載入 mydocapp1.lsp 檔時發生錯誤,princ 函數就會顯示下列訊息,而程式會繼續載入剩餘的兩個檔案:

MYDOCAPP1.LSP file not loaded.

如果在 acad.lspacaddoc.lsp 或 MNL 檔中使用 command 函數,則它只能從 defun 陳述式內部進行呼叫。可使用 S::STARTUP 函數來定義在開始圖面階段作業時需要立即核發的指令。