" msg"的目的是什么?参数" ex-info"?

时间:2017-01-06 05:29:23

标签: exception clojure

我了解可以通过

访问"msg"字段
(.getMessage (ex-info "message" {:a 123}))

但是,我还没有看到ExceptionInfomsg字段的原因。 Clojure核心甚至不提供访问该字段的适当接口,例如(ex-msg (ex-info ...))

是否有人举例说明如何使用此msg字段?

1 个答案:

答案 0 :(得分:4)

在Java中,所有异常扩展的基类Throwable类都有一个detailMessage字段,而ExceptionInfo类继承它。抛出异常时,JVM将显示此消息。

因此,ex-info有一条消息来满足它上面的类层次结构,并以标准方式使用Java和JVM。使用它的典型方法是使用标准的Java互操作调用.getMessage,就像您在问题中所做的那样。您还会看到使用pst之类的内容。