タグ

例外とClojureに関するpochi-mkのブックマーク (1)

  • Clojureのエラー処理

    Clojureでエラー値を返すかもしれない関数ってどう書くのだろうとちょっと考えてみる。 Scalaだと例外はあまり使わず、EitherやValidationを使う派。 やはり、コンパイラの恩恵を受けることが出来る書き方が良い。 しかし、Clojureは動的型付けの言語。 コンパイラの恩恵は特にない。 なので、 どのような値が返ると扱いやすいかを考える。 Clojureは基的に nil返す 例外投げる の2通りだと思う。 Clojure標準のライブラリはnilを渡してもそれなりに動作するし、if-let,when-let,fnilなどの関数も用意されている。 しかし、nilだとどのようなエラーだったのか判別がつかない。 このような時に例外を使って、エラーの種類によって投げる例外を変えれば良いのだと思う。 Clojureの例外を投げるような関数は以下のように書ける。 この場合は、Java

    pochi-mk
    pochi-mk 2012/10/27
    はじめ「駄菓子菓子!」の意味がわからなかったwww Clojure で class を定義するのは面倒だけど、Clojure で完結できるよいお作法は無いものか...
  • 1