try to print backtraces when handlers fail

This commit is contained in:
Simon Cruanes 2021-04-08 19:28:49 -04:00
parent e5cb0a331b
commit b7e89f67e4

View file

@ -171,10 +171,11 @@ module Make(IO : IO)
let protect ~id f =
IO.catch f
(fun e ->
let message = spf "%s\n%s" (Printexc.to_string e) (Printexc.get_backtrace()) in
let r = Jsonrpc.Response.error id
(Jsonrpc.Response.Error.make
~code:Jsonrpc.Response.Error.Code.InternalError
~message:(Printexc.to_string e) ())
~message ())
in
send_response self r)
in
@ -222,11 +223,12 @@ module Make(IO : IO)
IO.failwith (spf "cannot decode request: %s" e)
end)
(fun e ->
let message = spf "%s\n%s" (Printexc.to_string e) (Printexc.get_backtrace()) in
let r =
Jsonrpc.Response.error id
(Jsonrpc.Response.Error.make
~code:Jsonrpc.Response.Error.Code.InternalError
~message:(Printexc.to_string e) ())
~message ())
in
send_response self r)
in