From 7a8b0e710b0b5d16abed2170a5791e3d1b862ae3 Mon Sep 17 00:00:00 2001 From: Andrey Antukh Date: Sat, 31 Dec 2022 10:49:04 +0100 Subject: [PATCH] :sparkles: Improve trace reporting on unhandled exception --- frontend/src/app/main/errors.cljs | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/frontend/src/app/main/errors.cljs b/frontend/src/app/main/errors.cljs index fe9eb8744..d6d732923 100644 --- a/frontend/src/app/main/errors.cljs +++ b/frontend/src/app/main/errors.cljs @@ -30,7 +30,14 @@ [error] (cond (instance? ExceptionInfo error) - (-> error ex-data ptk/handle-error) + (let [data (ex-data error)] + (if (contains? data :type) + (ptk/handle-error data) + (let [hint (str/ffmt "Unexpected error: '%'" (ex-message error))] + (ts/schedule #(st/emit! (rt/assign-exception error))) + (js/console.group hint) + (js/console.log (.-stack error)) + (js/console.groupEnd hint)))) (map? error) (ptk/handle-error error) @@ -49,7 +56,7 @@ (defmethod ptk/handle-error :default [error] - (let [hint (str/concat "Unexpected error: " (:hint error))] + (let [hint (str/ffmt "Unhandled error: '%'" (:hint error "[no hint]"))] (ts/schedule #(st/emit! (rt/assign-exception error))) (js/console.group hint) (ex/ignoring (js/console.error (pr-str error)))