This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2019-07-10
Channels
- # announcements (3)
- # beginners (67)
- # calva (4)
- # cider (3)
- # clj-kondo (58)
- # cljs-dev (4)
- # clojure (172)
- # clojure-berlin (4)
- # clojure-chicago (8)
- # clojure-europe (4)
- # clojure-greece (8)
- # clojure-italy (12)
- # clojure-nl (4)
- # clojure-spec (7)
- # clojure-uk (77)
- # clojurescript (13)
- # clojutre (16)
- # core-async (10)
- # cursive (3)
- # datomic (29)
- # figwheel-main (27)
- # fulcro (22)
- # garden (3)
- # jobs (2)
- # jobs-discuss (13)
- # juxt (5)
- # leiningen (14)
- # mount (4)
- # off-topic (28)
- # pathom (6)
- # pedestal (8)
- # portland-or (2)
- # re-frame (20)
- # remote-jobs (6)
- # shadow-cljs (13)
- # sql (74)
- # testing (17)
- # tools-deps (1)
- # vim (1)
- # xtdb (1)
Any tips how to handle errors that happen inside f
in (pipeline-blocking 5 my-out-chan (map f) (to-chan my-col))
? I would like to throw an error to the caller of my code, including the number of exceptions and one of them. Should I use the undocumented ex-handler
parameter, or wrap f
in try-catch
and send exceptions to another helper channel and then check it for content before returning or, instead of a helper channel, make the try-cache return either {:data <result>}
or {:exception <the exc.>}
and then filter
the resulting channel/collection for any errors? What do people do? Thank you!!!
Thanks! I wouldn't think of looking there.
that's not something you can generally detect, but if a go block is blocked that can be detected by looking at the stack traces of all running threads
in most terminals Control-\
does the same thing
there's also jstack <pid>
which you can run from another terminal
(map (comp pprint seq) (vals (Thread/getAllStackTraces)))
better (doseq [trace (vals (Thread/getAllStackTraces))] (println (clojure.string/join "\n" trace)))