我的应用程序允许用户间接创建自己的方法,稍后我需要参考这些方法。我想知道是否有一种方法(用于错误检查)测试方法是否存在而不尝试执行它。如果我只是尝试调用该方法并且它不存在,这将使我的应用程序崩溃。
答案 0 :(得分:7)
答案 1 :(得分:5)
它不会真正崩溃,但会发出信号。如果未处理此条件,则将输入调试器。有关如何使用条件系统的信息,请参阅CLHS Section 9.1。
无论如何,您只需使用fboundp
进行检查。
答案 2 :(得分:1)
一种解决方案是提供“无所事事”的GF方法,在类T(所有类的超类)上进行调度。对于你正在实现方法的所有GF,你需要这个。为了审计目的,也可以让“无所事事”方法记录一些数据,也许是每个参数的类。