我的應用程序允許用戶間接創建自己的方法,我後來需要參考這些方法。我想知道是否有一種方法(用於錯誤檢查的目的)來測試一個方法是否存在而不嘗試執行它。如果我只是嘗試調用該方法,但它不存在,這會使我的應用程序崩潰。反正有「探測」一種常見方法lisp
2
A
回答
7
4
它不會真的崩潰,但表示一個條件。如果沒有處理這個條件,調試器將被輸入。有關如何使用條件系統的信息,請參閱CLHS,Section 9.1。
無論如何,你可以簡單地使用fboundp
進行檢查。
1
一個解決方案是提供一個「什麼都不做」 GF方法,調度對T類(所有類的父類)。你需要爲所有你實施方法的GF。爲了審計目的,也可以讓「無所事事」方法記錄一些數據,也許是每個參數的類。
相關問題
- 1. 常見的lisp成語 - 有沒有更好的方法?
- 2. 探測無法正常工作Asp.net 2.0
- 3. Ruby常量有一種方法可以有真正的常量..?
- 4. 用NUnit測試複雜函數是否有一種常見的方法?
- 5. async.js - 用於探測的正確方法
- 6. 常見的lisp灰色流
- 7. Herche與Hunchentoot的常見Lisp?
- 8. 有沒有一種方法來驗證探測read()方法是否對文件進行了完美的讀取?
- 9. 一種處理常見行爲的方法
- 10. 有沒有一種方法來單元測試異步方法?
- 11. 一種測試javascript方法的方法
- 12. 無法探測
- 13. 有沒有辦法使用多種測試方法運行Espresso測試,但只有一種設置方法?
- 14. 在PHP中實現「批處理表」是否有一種常見的方法?
- 15. 哈斯克爾是一種Lisp方言
- 16. 有沒有一種檢測方案實現的標準方法?
- 17. 有沒有一種標準的方法來檢測方向性?
- 18. 用相同的邏輯處理幾種方法是否有一種常見的做法?
- 19. 有沒有一種方法來取消通用lisp中的列表?
- 20. 爲此使用反射,有沒有另一種方法?
- 21. 常見的LISP代碼說明
- 22. `人`的常見Lisp等效物
- 23. 常見的Lisp宏模式匹配
- 24. 常見Lisp案例和引用元素
- 25. Draft.JS:探測內容變化的正確方法
- 26. 有沒有一種方法可以真正檢測Internet Explorer是PHP還是Javascript
- 27. 使用常見的方法
- 28. 有沒有一種常見的方式永久地存儲在jenkins罈子
- 29. 測試異常的正確方法
- 30. 編程「靜態」的另一種方法是:代碼正常嗎?
非常感謝你!無論如何去解析fboundp返回的方法來確定預期調用者的類應該是什麼? – Mike2012 2010-06-11 19:52:42
'fboundp'返回一個泛化的布爾值,指示該名稱的函數是否存在(我可能誤解了你的問題的意圖)。 「預期呼叫者的類別」是無關緊要的;我想你是說這個方法的專家。查看Rainer的答案(使用'find-method')。 – Svante 2010-06-11 20:09:14