12

私の Clojure コードには、複数の例外をスローするメソッドを備えた Java 相互運用機能があります。一人一人と向き合いたい。Clojureのドキュメントによると:

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

複数の例外をキャッチすることについては言及されていません。Clojureでそれを行うことは可能ですか?

ありがとうございました!

4

1 に答える 1

25

Java と同じです。いくつかのcatch式を次々に宣言することができ、それらは宣言されたのと同じ順序で一致Exception1Exception2ますfinally。実行されました。

(try <some code>
    (catch Exception1 e1 (prn "in catch1"))
    (catch Exception2 e2 (prn "in catch2"))
    (finally (prn "in finally")))

実際、これはドキュメントで指定されており、式(try expr* catch-clause* finally-clause?)の一部として「0 個以上の式」、「0 個以上の catch 句」、および「0 個または 1 個の finally 句」を使用できることを意味しますtry

于 2012-06-04T00:18:53.647 に答える