Skip to content

Commit

Permalink
Syntax highlight code examples when viewed in github.
Browse files Browse the repository at this point in the history
  • Loading branch information
josephwilk committed Feb 13, 2013
1 parent 1d49adf commit 034cd51
Showing 1 changed file with 18 additions and 4 deletions.
22 changes: 18 additions & 4 deletions README.md
Expand Up @@ -5,68 +5,82 @@ A Clojure client for [Exceptional](http://getexceptional.com).
## Usage

### Lein / Cake


```clojure
[clj-exceptional "0.7.1"]
```

### Importing

```clojure
(ns foo
(:require [clj-exceptional :as cx]))

;; or

(ns foo
(:use cljs-exceptional))
```

For the examples below I'll assume you're using the require method above.

### Basic Usage

Set your key !! IMPORTANT !!:

```clojure
(cx/key! "exceptional_app_api_key")
```

Post an exception (blocking):

```clojure
(cx/post-exc (Exception. "something went wrong!"))
```

Post an exception (non-blocking using agents):

```clojure
(cx/post-exc-async (Exception. "something went wrong!"))

```



### "Catch" Macros

Wrap some code (`catch-exc` returns the caught exception):

```clojure
(cx/catch-exc
(op-throw-exception))

;; => #<Exception>
```

Wrap some code (`rethrow-exc` re-throws the caught exception):


```clojure
(try
(cx/rethrow-exc
(op-throws-exception))
(catch Exception e (println "Something went wrong!!!)))
;; => nil
```
### Ring Handler
clj-exceptional contains ring handlers (`wrap-exceptional-catch` and
`wrap-exceptional-rethrow`) that will add information from
the request map to the post.
```clojure
(def ring-app
(-> routes
(wrap-params)
(wrap-file "resources/public")
(wrap-file-info)
(cx/wrap-exceptional-catch))
```
This will send an exceptional post containing request parameters such
as `:remote-addr`, `:uri`, and `:headers`.
Expand Down

0 comments on commit 034cd51

Please sign in to comment.