首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >注释掉了在clojure中导致运行时错误的代码

注释掉了在clojure中导致运行时错误的代码
EN

Stack Overflow用户
提问于 2012-05-18 15:30:41
回答 1查看 308关注 0票数 2

上下文:我正在编写一个Cascalog作业,以便在Amazon EMR中运行。Cascalog是一个基于clojure的库,用于运行MapReduce。当作业由于某种奇怪的类加载异常而失败时。

在作业中,我使用了一个名为geocoder的库,它是一个基于clojure的geoip查找库。特别是,我使用的是库中查看maxmind GeoLiteCity.dat文件的部分。我发现我的代码中导致作业失败的部分是使用地理编码库的部分。**

最奇怪的是,虽然删除这部分代码会导致作业成功,但注释掉却不会……想知道有没有人知道发生了什么事?

**我使用地理编码库的方式如下

(ns utils.geoip (:使用geocoder.core))

然后我的工作就需要上面的内容

(ns myjob (:需要utils.geoip :as geoip))

EN

回答 1

Stack Overflow用户

发布于 2012-05-18 23:01:57

你的问题的答案可能取决于你使用哪种技术来注释掉有问题的代码?也就是说,您使用的是;还是多行(comment foo)宏?

我这样问的原因是,虽然用;注释掉的代码被完全忽略了,但comment宏需要一个语法正确的S表达式作为主体;因此,一个简单的语法错误可能会导致您认为被忽略的代码中出现意外错误。

换句话说:注释宏不允许任意文本。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10648485

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档