Como capturar várias exceções no Clojure?

Meu código Clojure tem alguma interação com java com um método que gera várias exceções. Eu gostaria de lidar com cada um deles. De acordo com a documentação do Clojure:

(try expr* catch-clause* finally-clause?) catch-clause -> (catch classname name expr*) 

não tem menção de pegar múltiplas exceções. É possível fazer isso no Clojure?

Obrigado!

É o mesmo que em Java, você pode declarar várias expressões catch uma após a outra, e elas serão combinadas na mesma ordem em que foram declaradas – primeiro Exception1 , se não corresponder a Exception2 e assim por diante, e finally parte será sempre executada.

 (try  (catch Exception1 e1 (prn "in catch1")) (catch Exception2 e2 (prn "in catch2")) (finally (prn "in finally"))) 

Na verdade, isso é especificado na documentação, (try expr* catch-clause* finally-clause?) Significa que você pode ter “zero ou mais expressões”, “zero ou mais cláusulas catch” e “zero ou um finalmente cláusulas” como parte de uma expressão try .

    Intereting Posts