Clojure, assim como seus ancestrais Lisp, depende de exceções para lidar com erros.
Clojure se apoia nas facilidades de log do Java, mas você pode acessá-las de uma maneira mais idiomática de Clojure.
Funções em Clojure são definidas com defn, seguido por um nome, parâmetros e corpo.
defn
Refatorar em Clojure—graças à sua sintaxe limpa e ao paradigma funcional—pode ser incrivelmente direto.