(defexception t)Dynamically creates an clojure.lang.ExceptionInfo class using JVM bytecode. The exception class inherits its behavior from clojure.lang.ExceptionInfo yet will be its own type.
This means that an instance of this exception will respond to
clojure.core/ex-data and can have an optional Throwable cause arg.
This will create a constructor function much similar to the one created for Records.
Example Usage:
(defexception MyException) => user.MyException
(->MyException) (->MyException {:hello 1}) (->MyException "This is a message") (->MyException "This is a message" {:hello 1}) (->MyException "This is a message" {:hello 1} (Exception. "A cause"))
(ex-data (->MyException {:hello 1})) => {:hello 1}
(ex-data (->MyException "This is a message" {:hello 1})) => {:hello 1}
(.getMessage (->MyException "This is a message")) => "This is a message"
or invoke the constructors directly
(user/MyException. "This is a Message" {}) (user/MyException. "This is a Message" {} (Exception. "A message"))
Dynamically creates an clojure.lang.ExceptionInfo class using JVM
bytecode. The exception class inherits its behavior from
clojure.lang.ExceptionInfo yet will be its own type.
This means that an instance of this exception will respond to
`clojure.core/ex-data` and can have an optional Throwable `cause` arg.
This will create a constructor function much similar to the one
created for Records.
Example Usage:
(defexception MyException) => user.MyException
(->MyException)
(->MyException {:hello 1})
(->MyException "This is a message")
(->MyException "This is a message" {:hello 1})
(->MyException "This is a message" {:hello 1} (Exception. "A cause"))
(ex-data (->MyException {:hello 1})) => {:hello 1}
(ex-data (->MyException "This is a message" {:hello 1})) => {:hello 1}
(.getMessage (->MyException "This is a message")) => "This is a message"
or invoke the constructors directly
(user/MyException. "This is a Message" {})
(user/MyException. "This is a Message" {} (Exception. "A message"))cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |