私の Clojure コードには、複数の例外をスローするメソッドを備えた Java 相互運用機能があります。一人一人と向き合いたい。Clojureのドキュメントによると:
(try expr* catch-clause* finally-clause?)
catch-clause -> (catch classname name expr*)
複数の例外をキャッチすることについては言及されていません。Clojureでそれを行うことは可能ですか?
ありがとうございました!
Java と同じです。いくつかのcatch
式を次々に宣言することができ、それらは宣言されたのと同じ順序で一致Exception1
しException2
ます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
。