Java 如何在Clojure中捕获多个异常?

Java 如何在Clojure中捕获多个异常?,java,exception,clojure,Java,Exception,Clojure,我的Clojure代码有一些java互操作,其中有一个抛出多个异常的方法。我希望与他们中的每一个人打交道。根据Clojure文件: (try expr* catch-clause* finally-clause?) catch-clause -> (catch classname name expr*) 它没有提到捕获多个异常。有可能在Clojure这样做吗 谢谢大家! 这与Java中的相同,您可以一个接一个地声明几个catch表达式,它们将按照声明的相同顺序得到匹配-首先是Except

我的Clojure代码有一些java互操作,其中有一个抛出多个异常的方法。我希望与他们中的每一个人打交道。根据Clojure文件:

(try expr* catch-clause* finally-clause?)
catch-clause -> (catch classname name expr*)
它没有提到捕获多个异常。有可能在Clojure这样做吗


谢谢大家!

这与Java中的相同,您可以一个接一个地声明几个
catch
表达式,它们将按照声明的相同顺序得到匹配-首先是
Exception1
,如果不匹配,则是
Exception2
等等,最后总是执行
部分

(try <some code>
    (catch Exception1 e1 (prn "in catch1"))
    (catch Exception2 e2 (prn "in catch2"))
    (finally (prn "in finally")))
(试试看)
(捕捉例外1 e1(捕捉1中的prn)
(catch Exception2 e2(catch 2中的“prn”))
(最后(prn“in finally”))
事实上,这是文档中指定的,
(try expr*catch子句*finally子句?
意味着可以将“零个或多个表达式”、“零个或多个catch子句”和“零个或一个finally子句”作为
try
表达式的一部分。

好的ol',它永远不会让我失望:)