aboutsummaryrefslogtreecommitdiff
path: root/src/clojure/contrib/condition/example.clj
diff options
context:
space:
mode:
Diffstat (limited to 'src/clojure/contrib/condition/example.clj')
-rw-r--r--src/clojure/contrib/condition/example.clj66
1 files changed, 0 insertions, 66 deletions
diff --git a/src/clojure/contrib/condition/example.clj b/src/clojure/contrib/condition/example.clj
deleted file mode 100644
index 5a7d72ef..00000000
--- a/src/clojure/contrib/condition/example.clj
+++ /dev/null
@@ -1,66 +0,0 @@
-;; Copyright (c) Stephen C. Gilardi. All rights reserved. The use and
-;; distribution terms for this software are covered by the Eclipse Public
-;; License 1.0 (http://opensource.org/licenses/eclipse-1.0.php) which can
-;; be found in the file epl-v10.html at the root of this distribution. By
-;; using this software in any fashion, you are agreeing to be bound by the
-;; terms of this license. You must not remove this notice, or any other,
-;; from this software.
-;;
-;; clojure.contrib.condition.example.clj
-;;
-;; scgilardi (gmail)
-;; Created 09 June 2009
-
-(ns clojure.contrib.condition.example
- (:use (clojure.contrib
- [condition
- :only (handler-case print-stack-trace raise *condition*)])))
-
-(defn func [x y]
- "Raises an exception if x is negative"
- (when (neg? x)
- (raise :type :illegal-argument :arg 'x :value x))
- (+ x y))
-
-(defn main
- []
-
- ;; simple handler
-
- (handler-case :type
- (println (func 3 4))
- (println (func -5 10))
- (handle :illegal-argument
- (print-stack-trace *condition*))
- (println 3))
-
- ;; multiple handlers
-
- (handler-case :type
- (println (func 4 1))
- (println (func -3 22))
- (handle :overflow
- (print-stack-trace *condition*))
- (handle :illegal-argument
- (print-stack-trace *condition*)))
-
- ;; nested handlers
-
- (handler-case :type
- (handler-case :type
- nil
- nil
- (println 1)
- (println 2)
- (println 3)
- (println (func 8 2))
- (println (func -6 17))
- ;; no handler for :illegal-argument
- (handle :overflow
- (println "nested")
- (print-stack-trace *condition*)))
- (println (func 3 4))
- (println (func -5 10))
- (handle :illegal-argument
- (println "outer")
- (print-stack-trace *condition*))))