从ClojureScript REPL中的错误中恢复

时间:2012-03-25 15:43:34

标签: clojure read-eval-print-loop clojurescript

我想尝试使用ClojureScript,但它比我想要的更麻烦。

我可以使用浏览器连接的REPL并与实时页面进行交互。问题是我无法从异常中恢复。我经常输入错误导致异常。而且,当我找到ClojureScript的方法时,我正在收集一个有用功能的小库。碰巧这些函数包含错误,当我加载这些模块时,我得到了其他例外。

在这种情况下,我唯一能做的就是用Ctrl-C停止一切。这是痛苦的,因为在我完成任何事情之前,我必须再次启动REPL,这涉及启动JVM,这不是很快。

  

到目前为止,有没有办法从REPL中的异常中恢复而不会丢失所有上下文?

1 个答案:

答案 0 :(得分:1)

我遇到过类似的困难。我在使用clojurescript one并使用xpath表达式来定位DOM元素时遇到了特殊问题。 xpath中的语法错误(缺少“或缺少关闭”)是一个showstopper。我没有完整的解决方案,但我发现有时候执行一个正确的表单会解决问题。

我尝试了

(js/alert "hello world!")

即使看起来REPL挂起也常常有用。

无法刷新浏览器页面以重新建立浏览器与执行环境之间的连接。