-----------------
(ns clojure.contrib.condition.example (:use clojure.contrib.condition)) (defn func [x y] (if (neg? x) (raise :source ::Args :arg 'x :value x :message "shouldn't be negative") (+ x y))) (defn main [] (handler-case :source condition (println (func 3 4)) (println (func -5 10)) (handle ::Args (printf "Bad argument: %s\n" condition)))) ----------------- Clojure 1.1.0-alpha-SNAPSHOT user=> (run clojure.contrib.condition.example) 7Bad argument: {:stack-trace #<StackTraceElement[] [Ljava.lang.StackTraceElement;@6bf1a3f4>, :arg x, :message "shouldn't be negative", :source :clojure.contrib.condition.example/Args, :value -5}
nil user=> ----------------- Comments welcome. --Steve
smime.p7s
Description: S/MIME cryptographic signature