[英]CLIPS system halted and not continuing to execute
我正在按照 APG 文档集成 CLIPS 专家系统,感谢伟大的文档,我成功地将 CLIPS 集成到我的 C++ 项目中,我的应用程序持续运行并使用 EnvAssert 方法将事实提供给 CLIPS 系统并调用 EnvRun,一切正常,直到我收到此错误。
[PRNTUTIL7] Attempt to divide by zero in / function.
[DRIVE1] This error occurred in the join network
Problem resides in associated join
Of pattern #1 in rule RULE-1
[PRCCODE4] Execution halted during the actions of defrule RULE-2.
一旦我收到此错误,进一步的 Assert 正在运行,但 Run 似乎不起作用,但我确信有明确的匹配规则可用,但在下一次运行时仍然没有触发任何规则。
我理解错误,我可以修复它,但我无法理解行为。 所以我在 CLIPS 控制台中对其进行了测试,当报告错误时,连续运行似乎按我的预期工作,但在我的应用程序的情况下,我想知道潜在的区别。
参考应用程序伪代码:
<code to create and initialize CLIPS environment>
EnvReset()
While(true)
{
<my code to get facts>
EnvAsset(Fact)
EnvRun(-1)
<my code to receive the generated result facts>
}
注意:我不会在每次 RUN 之前调用 RESET。
已将用于重置 API 调用错误标志的修复程序签入 sourceforge 上的 subversion 存储库: https ://sourceforge.net/p/clipsrules/code/HEAD/tree/branches/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.