嗯,再稍微思考这个问题;也许问题出在ClojureScript重写toString的方式上
(set! (.. ExceptionInfo -prototype -toString)
(fn []
(this-as this (pr-str* this))))
^ ^ ^ 默认的js/Error toString是名称加消息
然而我尝试用默认的toString重写它,但没有看到任何差异,所以要么我的方法是错误的,要么toString与此不相关。我尝试重写它的方式是在抛出异常之前在代码中放入这个片段
(set! (.. ExceptionInfo -prototype -toString)
(fn []
(this-as this (str "z" (.-name this) (.-message this)))))
/shrug