发布上面的问题后,我删除了
<cfproperty name="gamesBetTypesID" type="numeric" />
并为 VARIABLES.gamesBetTypesID
添加了显式的 getter 和 setter。
<cffunction name="getGamesBetTypesID" output="false" access="public" returntype="numeric">
<cfreturn VARIABLES.gamesBetTypesID />
</cffunction>
<cffunction name="setGamesBetTypesID" output="false" access="public" returntype="void">
<cfargument name="gamesBetTypesID" required="true" type="numeric" />
<cfset VARIABLES.gamesBetTypesID = ARGUMENTS.gamesBetTypesID />
</cffunction>
这段代码已经在生产环境中运行了一个星期,其中包括一个周末,这是我们忙碌的时期。过去 7 天内没有发生任何异常。以前,在繁忙的一天会抛出多达 15 个异常。
这让我相信通过
<CFPROPERTY>
生成/使用隐式访问器存在一个错误,该错误仅出现在某些情况下。我将使用 Adobe 记录错误
如果有任何进展我会更新。
更新一个很老的问题。我遇到了同样的情况,但我的函数被明确命名(没有 cfproperty 或 get/set)。问题是我在函数中使用与函数相同的名称声明了一个局部变量。我的函数是从循环内调用的。如果该函数仅被调用一次,则没有问题。如果第二次调用该函数,我将收到与您收到的相同错误。我怀疑当创建局部变量时,由于命名冲突,它会清除函数定义。我重命名了局部变量,问题就消失了。