【发布时间】:2021-11-14 03:38:05
【问题描述】:
我有 Clojure 代码并对其进行评估,然后将其实习到一个 var 中:
(let [x (binding [*ns* my-ns] (eval m-code))]
(intern my-ns my-sym x)) ; my-sym was declared beforehand.
但是当 x 内部发生错误时,trace 不会引用 x:
my-ns/eval27298/fn--27299
...
我复制了一个更“标准”的变量的元数据,但这不会改变堆栈跟踪:
(alter-meta! my-var #(assoc % :line 1 :column 1 :file "my_ns.clj" :name my-sym :ns my-ns))
如果不是元数据,用什么来确定堆栈跟踪?
【问题讨论】:
标签: clojure stack-trace