2024 年 Clojure 状态调查! 中分享您的想法。

欢迎!请查看 关于 页面,以了解更多关于如何工作的信息。

0
tools.namespace
我使用 {{org.clojure/tools.namespace "0.3.0-alpha4"}} 来检测任意对象之间的循环依赖。它工作得很好,但错误信息在某个特定情况下可能更具有信息量。


{:type clojure.lang.ExceptionInfo
   :message "x 与 y 之间的循环依赖"
   :data {:reason :clojure.tools.namespace.dependency/circular-dependency, :node x, :dependency y}
   :at [clojure.core$ex_info invokeStatic "core.clj" 4617]}


{{x}} 和 {{y}} 是被删节的数据。

问题在于,x 和 y 之间并不是直接依赖,而是通过间接路径依赖。

如果异常本身能告知完整的错误路径,而不是仅仅告知开始和结束,这将非常有用。

期望的异常示例

 
 :data {:reason :clojure.tools.namespace.dependency/circular-dependency, :node x, :dependency y, :path [x a b c y]}
 

1 个回答

0
参考资料:https://clojure.atlassian.net/browse/TNS-49 (由 alex+import 报告)
欢迎来到 Clojure 常见问题解答,在这里您可以提问并从 Clojure 社区的成员那里获得答案。
...