diff --git a/backplane-server.lisp b/backplane-server.lisp index 39a9cb7..39ad981 100644 --- a/backplane-server.lisp +++ b/backplane-server.lisp @@ -103,11 +103,17 @@ (format *standard-output* "message received from ~A" sender) (xmpp:message conn (xmpp:from message) - (render-result (success-> message - (xmpp:body) - (decode-message) - (dispatch-parse-message sender) - (handle-message)))))) + (render-result + (handler-case + (success-> message + (xmpp:body) + (decode-message) + (dispatch-parse-message sender) + (handle-message)) + (error (e) + (format *error-output* "failed handling message from ~A: ~A" + sender e) + (make-error :msg "an unknown error occurred handling request"))))))) (let ((backplane nil)) (defun backplane-connect (xmpp-host xmpp-username xmpp-password)