From 4cbd4421ce475ba2d0435c19666c443db4c08d8c Mon Sep 17 00:00:00 2001 From: tali Date: Thu, 1 Feb 2024 14:08:27 -0500 Subject: [PATCH] improve error messages in main somewhat --- bin/main.ml | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/bin/main.ml b/bin/main.ml index 60b4386..c07a343 100644 --- a/bin/main.ml +++ b/bin/main.ml @@ -1,3 +1,5 @@ +include (val Logging.sublogs Server.logger "Main") + let min_level = match Sys.getenv_opt "LOG_LEVEL" |> Option.map String.uppercase_ascii with | Some "TRACE" -> Logging.TRACE @@ -72,4 +74,14 @@ let config : Server.config = { } let () = - Lwt_main.run @@ Server.run config + Printexc.register_printer + (function + | Unix.Unix_error (eno, who, _) -> Some (Fmt.str "%s: %s" who (Unix.error_message eno)) + | Failure msg -> Some ("internal error: " ^ msg) + | Invalid_argument who -> Some ("internal error: invalid argumnet: " ^ who) + | _ -> None); + try + Lwt_main.run @@ Server.run config + with exn -> + error (fun m -> m "%a" Fmt.exn exn); + exit 1