idiomatischer Weg, um Ausnahmen in Ring-Apps zu fangen

Was ist die idiomatische Art, mit Ausnahmen in Ring-Apps umzugehen? Ich möchte die Ausnahme erfassen und eine 500-Seite zurückgeben. Wie mache ich das ?

Ich benutze Schnurrbart für den Code unten, aber es funktioniert nicht -

(def my-app (try
              (app
               (wrap-logger true)
               wrap-keyword-params
               wrap-params
               wrap-file-info
               (wrap-file "resources/public/")
               [""]  (index-route @prev-h nil)
               ["getContent"] (fetch-url)
               ["about"] "We are freaking cool man !!"
               [&] (-> "Nothing was found" response (status 404) constantly))
              (catch Exception e
                (app
                 [&] (-> "This is an error" response (status 500) constantly)))

Antworten auf die Frage(1)

Ihre Antwort auf die Frage