【发布时间】:2014-11-09 06:30:01
【问题描述】:
Clojure 允许使用set-validator! 根据某些规则检查代理的新状态是否有效。我的验证器发现由于某种原因代理的值设置为nil。但是,我不知道这是怎么发生的——有什么方法可以查明试图设置无效状态的操作吗?
【问题讨论】:
-
你能分享一些代码吗?
-
为什么不让您的验证器引发异常,或者使用堆栈跟踪记录?
-
不幸的是,验证者似乎不知道导致无效状态的操作的起源。该操作被放入代理的队列中。我想知道是否可以将一些元数据附加到包含堆栈跟踪的操作 - 这在调试期间可能会有所帮助。