(CLJS) try-catch-finally broken inside go-blocks

Description

The following will cause the failed assertion (ioc_helpers.cljs:155)
when evaluated as a whole, and will correctly catch the Error when
just the `try' gets evaluated. The `finally' block runs only if the
inner block is evaluated:

Another notable observation is that changing the order of the `catch'
blocks will change the behavior: If the (catch js/Error ...) is the
first catch block, it will work just as expected.

Environment

clojure 1.6.0, clojurescript 0.0-2234, core.async 0.1.303.0-886421-alpha1

Activity

Show:
Kevin Downey
May 18, 2016, 1:48 AM

this appears to be very similar to http://dev.clojure.org/jira/browse/ASYNC-169, async-169 is on the clojure side of the library, but it looks like both sides have similar problematic exception handling logic

import
April 17, 2018, 4:36 PM

Comment made by: jmlsf

Similar issue, but without a finally block:

Assignee

Unassigned

Reporter

Moritz Ulrich

Approval

None

Patch

None

Priority

Critical