Clojure 当我不';我没想到会这样

Clojure 当我不';我没想到会这样,clojure,throw,Clojure,Throw,我有这个代码从sumo logic和其他服务获取数据 core.clj具有此功能,它解析参数并将其路由到route.clj (def cli-options [ ["-a" "--app APPNAME" "set app. app can be: sumologic or jira"] ["-?" "--help"] ]) (defn -main [& args] (le

我有这个代码从sumo logic和其他服务获取数据

core.clj具有此功能,它解析参数并将其路由到
route.clj

(def cli-options
  [
    ["-a" "--app APPNAME" "set app. app can be:
                                       sumologic or jira"]
    ["-?" "--help"]
    ])

(defn -main
  [& args]
  (let [{:keys [options summary errors arguments]} (parse-opts args cli-options)]
    (cond
      (:app options) (route/to (:app options) options arguments)
      :else (print_usage summary))))
route.clj具有以下功能:

(defn to
  [app options arguments]
  (case app
    "jira" (jira/respond options arguments)
    "sumologic" (sumo/respond)))
然后相扑就有了这个。当然还有其他功能,但只显示相关部分

(defn get-env-var
  [var]
  (let [result (System/getenv var)]
    (if (nil? result)
      (throw (Exception. (str "Environment variable: " var " not set. Aborting")))
      result)))

(def access_key
  (let [user (get-env-var "SUMO_ID")
        pass (get-env-var "SUMO_KEY")]
    [user pass]))

(defn respond
  []
  (let [{:keys [status body error] :as response} (http/get endpoint rest-options)]
    (if error
      (println error)
      (print-response body))))
当我使用leiningen作为
lein run--?
运行程序,或者仅仅是
lein run
运行程序时,我得到了这个错误,尽管我没有显式调用sumologic函数。我做错了什么?我可以做哪些不同的事情

Caused by: java.lang.Exception: Environment variable: SUMO_KEY not set. Aborting
    at clarion.sumo$get_env_var.invoke(sumo.clj:14)
    at clarion.sumo$fn__3765.invoke(sumo.clj:19)
    at clojure.lang.AFn.applyToHelper(AFn.java:152)
    at clojure.lang.AFn.applyTo(AFn.java:144)
    at clojure.lang.Compiler$InvokeExpr.eval(Compiler.java:3553)

您有
def
'd
access\u键
,因此在加载应用程序时将对其进行评估。你可能想把它变成一个函数

您有
def
'd
access\u key
,因此在加载应用程序时将对其进行评估。你可能想把它变成一个函数

您有
def
'd
access\u key
,因此在加载应用程序时将对其进行评估。你可能想把它变成一个函数

您有
def
'd
access\u key
,因此在加载应用程序时将对其进行评估。你可能想把它变成一个函数