我发现用PyClips开发非常困难,因为它似乎用一个通用的“语法错误”消息替换Clips抛出的有用错误消息。这使得在使用PyClips时在大型代码库上进行调试非常费力,而且几乎不可能。在
考虑下面的例子。我写了一个非常大的表达式,其中包含乘法运算符,但我错误地忘记了添加第二个参数。PyClips没有简单地告诉我缺少一个参数,而是告诉我有一个语法错误。我花了1秒钟才纠正的,我花了5分钟才纠正,因为我在我的大表情中寻找错误。在
下面是一个浓缩版:
在剪辑中,有一条有用的错误消息:
clips
CLIPS> (defrule myrule "" (myfact 123) => (bind ?prob (* (min 1 2))))
[ARGACCES4] Function * expected at least 2 argument(s)
ERROR:
(defrule MAIN::myrule ""
(myfact 123)
=>
(bind ?prob (* (min 1 2))
在PyClips中,有一条无用的错误消息:
^{pr2}$如何让PyClips给出Clips抛出的实错误?在
捕获ClipsError,然后阅读ErrorStream以获取详细信息。例如:
相关问题 更多 >
编程相关推荐