Java 如何在Clojure中捕获多个异常?
我的Clojure代码有一些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
(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',它永远不会让我失望:)