【发布时间】:2013-07-07 19:18:23
【问题描述】:
我使用以下 Clojure 代码从 riak-java-client 包装 .ping。但我不喜欢这样直率地捕捉异常:
(ns myapp.riak
(:import [com.basho.riak.client IRiakClient]))
(set! *warn-on-reflection* true)
(defn alive?
"Is Riak client alive? Returns true or false, unlike `.ping`."
[^IRiakClient client]
(try
(.ping client) true
(catch Exception e false)))
我试着捕捉这些:
com.basho.riak.client.RiakExceptionjava.net.ConnectExceptionjava.io.IOException
但这些(单独或组合)都不起作用。
我做错了什么?
美国东部时间下午 3:56 更新:我正在使用 RiakFactory/httpClient,以防万一。
4:13 pm EDT 更新:一个有趣的方面是调试过程。在调试时,ConnectException 出现在 REPL 中。但是RiakIORuntimeException——下面的解决方案的一部分——没有出现。我想知道为什么不。
【问题讨论】:
标签: java exception clojure riak