У меня есть некоторый код, который выглядит следующим образом (d is manifold.deferred):
(if throw-first-error
(throw
(d/error!
(ex-info "Error"
{:cause "first error"})))
(-> (do-things-that-could-cause-error)
(d/catch' (fn [e] (throw
(ex-info "Error"
{:cause "second error"})))))))
Вторая ошибка откладывается, чего я и хочу, потому что она находится внутри d/catch'
. Как сделать так, чтобы первая ошибка была отложена, так что она может быть перехвачена функцией, вызывающей этот код с той же d/catch'
, что и вторая ошибка. Спасибо!