2010-07-01から1ヶ月間の記事一覧

error-kit解説

clojure.contrib.error-kit*1を使うと、Common Lispのconditionに似たエラー処理ができるようになる。 Clojureのエラー処理では、Javaのtry/throw/catchをそのまま使うが、error-kitのwith-handle/raise/handle/bind-continue/continue*2を使う。bind-contin…

error-kitを使ってretry

error-kitとtrampolineを使ったリトライ処理の実装。 (ns jp.t2ru.retry (:use [clojure.contrib.error-kit])) (defn- do-with-retry [f & args] (with-handler {:result (apply f args)} (bind-continue retry [& args] #(apply do-with-retry f args)))) (…