有时我需要与 ExceptionInfo 的基本异常信息交互(例如 .setStackTrace
)。核心功能 ex-info
也不对任意数进行类型提示,因此在避免反射警告时,在使用调用结果时我必须指定 ^ExceptionInfo
(let [old-ex (Exception. "asdf")
new-ex (ex-info "example" {})]
(doto ^ExceptionInfo new-ex (.setStackTrace (.getStackTrace old-ex))))
将类型提示添加到 ex-info
将完美解决此类使用的所有问题(包括 Clojure 核心中的使用,ex-data
等)。
如果有兴趣,我可以创建一个补丁。