Clojure 为什么可以';我是否将404与返回的(.getMessage e)进行比较?

Clojure 为什么可以';我是否将404与返回的(.getMessage e)进行比较?,clojure,Clojure,我显然不理解(.getMessage e)返回什么,这可能就是为什么我在下面的代码块(let绑定的一部分)中出现以下问题的原因 我尝试将值设置为字符串并进行比较,结果发现空指针错误。那么,为什么我不能将(.getMessage e)的输出与404进行比较呢。我知道我正在从我的web应用程序返回404。e只是Java的一个例外。返回一个字符串,该字符串永远不会与数字404进行比较 如果异常正在包装HTTP错误响应代码,那么您将需要有关特定异常类型的更专业的知识,以了解如何从异常中提取代码。它可以作

我显然不理解(.getMessage e)返回什么,这可能就是为什么我在下面的代码块(let绑定的一部分)中出现以下问题的原因


我尝试将值设置为字符串并进行比较,结果发现空指针错误。那么,为什么我不能将(.getMessage e)的输出与404进行比较呢。我知道我正在从我的web应用程序返回404。

e
只是Java的一个例外。返回一个字符串,该字符串永远不会与数字404进行比较


如果异常正在包装HTTP错误响应代码,那么您将需要有关特定异常类型的更专业的知识,以了解如何从异常中提取代码。它可以作为Exception子类上的方法提供,或者您可能必须从消息中解析它。如何获取错误代码将取决于您使用的HTTP客户端以及它如何表示错误。

请发布一个简单完整的示例,清楚地说明问题,包括输入、输出和错误。删除依赖项将更容易正确地找到问题。你说
我试着将值设置为字符串并进行比较,结果得到空指针错误
——请告诉我们;将此代码与您得到的错误一起发布。另外,
.getMessage
是否返回字符串?这不等于一个数字,你有密码。当返回代码为404时,它执行exit sys。我想知道为什么它不会比较。
accumail-results (try
  (client/get accumail-url {:query-params (into {} (first one-parsed-csv-vec))})
  (catch Exception e
  (println (.getMessage e))
  (if (not (= (.getMessage e) 404))
    (exit-sys (str accmail-except-str (.getMessage e) )))))