Clojure 1.9.0 ;; Error during read user=> :::5 RuntimeException Invalid token: :::5 clojure.lang.Util.runtimeException (Util.java:221) ;; Macroexpand spec error user=> (let [x]) CompilerException clojure.lang.ExceptionInfo: Call to clojure.core/let did not conform to spec: In: [0] val: () fails spec: :clojure.core.specs.alpha/bindings at: [:args :bindings :init-expr] predicate: any?, Insufficient input #:clojure.spec.alpha{:problems [{:path [:args :bindings :init-expr], :reason "Insufficient input", :pred clojure.core/any?, :val (), :via [:clojure.core.specs.alpha/bindings :clojure.core.specs.alpha/bindings], :in [0]}], :spec #object[clojure.spec.alpha$regex_spec_impl$reify__2436 0x2072acb2 "clojure.spec.alpha$regex_spec_impl$reify__2436@2072acb2"], :value ([x]), :args ([x])}, compiling:(NO_SOURCE_PATH:2:1) ;; Macroexpand intentional check error user=> (cond 1) IllegalArgumentException cond requires an even number of forms clojure.core/cond (core.clj:600) ;; Macroexpand unexpected error user=> (defmulti 5 class) ClassCastException java.lang.Long cannot be cast to clojure.lang.IObj clojure.core/with-meta--5142 (core.clj:217) ;; Compile error user=> (def 5) CompilerException java.lang.RuntimeException: First argument to def must be a Symbol, compiling:(NO_SOURCE_PATH:5:1) ;; Evaluation error user=> (/ 1 0) ArithmeticException Divide by zero clojure.lang.Numbers.divide (Numbers.java:163) ;; Spec function invocation error user=> (require '[clojure.spec.alpha :as s] '[clojure.spec.test.alpha :as stest]) nil user=> (defn f [a] a) #'user/f user=> (s/fdef f :args (s/cat :a int?)) user/f user=> (stest/instrument `f) [user/f] user=> (f "oops") ExceptionInfo Call to #'user/f did not conform to spec: In: [0] val: "oops" fails at: [:args :a] predicate: int? clojure.core/ex-info (core.clj:4739) ;; Assertion failure user=> (assert false) AssertionError Assert failed: false user/eval154 (NO_SOURCE_FILE:12) ;; Print error in repl user=> (deftype T [a]) user.T user=> (defmethod print-method T [_ w] (throw (Exception. "boom"))) #object[clojure.lang.MultiFn 0x14dda234 "clojure.lang.MultiFn@14dda234"] user=> (->T 1) Exception boom user/eval161/fn--162 (NO_SOURCE_FILE:14)